home *** CD-ROM | disk | FTP | other *** search
/ Ultimate Add-On's (Tournament Edition) / Cybercore Publishing - Ultimate Add-on's Tournament Edition.iso / d2 / handbook.txt < prev    next >
Text File  |  1995-06-11  |  121KB  |  2,155 lines

  1.                           T h e   U n o f f i c i a l
  2.         ______________________________________________________________
  3.         |                                                            |
  4.         |         W A D   D E S I G N E R S '  H A N D B O O K       |
  5.         |____________________________________________________________|
  6.                          Release 1.2 -- May 31, 1995
  7.  
  8.                   written and compiled by Bill J. McClendon
  9. -----------------------------------------------------------------------------
  10.  
  11.       Introduction
  12.       ~~~~~~~~~~~~
  13.       Hello, future WAD designer, and welcome to release 1.2 of the WAD
  14. Designers' Handbook!  This publication is designed to assist aspiring WAD
  15. authors with the basics of what they need to know about building and creating
  16. levels for DOOM.  It's aimed at the complete novice -- those who have played
  17. DOOM and maybe some PWADs, and said, "Hey, _I_ can do that!", but aren't
  18. familiar with the terminology and procedures.  You know what you _want_ to do,
  19. right?  You just aren't sure _how_ to do it, or _where_ to begin.  This is for
  20. you.
  21.  
  22.  
  23.       Copyright Information and Disclaimer
  24.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25.       This document is copyright (c) 1995 by Bill J. McClendon.  All rights
  26. reserved.  You may distribute this document freely under the following
  27. conditions:
  28.  
  29.       (a) the copies are exact and complete, including this copyright
  30.           notice;
  31.       (b) the copies are in electronic form only;
  32.       (c) you do NOT charge any fee whatsoever for copying and/or for
  33.           distribution of this document, in ANY form (subscription BBSs
  34.           and pay BBSs are exempt from this restriction) without prior
  35.           written consent of the author.
  36.  
  37.       You may, however, print a copy of this document for your own use. 
  38. Actually, I highly recommend that you do so, as you may find yourself taking
  39. quite a few notes during the learning process.  (It worked for me.)  For best
  40. results, I recommend printing it at 12 cpi (10-point, for you laser printer
  41. people), with a left margin of 1" and top, bottom, and right margins of .5".
  42. As if you didn't already know this, this document and all included files are
  43. not produced or supported by Id software, so don't call 'em if you've got a
  44. problem with this stuff.
  45.       Also, these files are provided to you in an "as-is" state.  That means
  46. you run them at your own risk.  I can't be held liable or responsible for any
  47. bad things that may happen to you or your system or your family or whatever
  48. if you run this and it messes up.  Basically, if you're afraid this document
  49. or other files may cause you difficulty, don't run it.  Thanks!
  50.  
  51.       Acknowledgements
  52.       ~~~~~~~~~~~~~~~~
  53.       My education on the design and structure of WADs wouldn't be complete
  54. without the various amounts of assistance I received from the following
  55. people:
  56.  
  57. Roy Ford (LaserJock):
  58.       For explaining what the ceiling and floor heights were for when making
  59.       doors, for emphasizing the need to make visible linedef lengths
  60.       multiples of 8, and for answering my million-and-one questions about how
  61.       to operate WADED, since it didn't come with docs.  Author of DREAD3,
  62.       WOODY, HELLPORT, and XENO_PEN, and future, as-yet-unnamed levels...
  63. Stephen Long (Dr. Death):
  64.       For being so helpful on the FidoNet DOOM echo, and for his tips on
  65.       sticking to a consistent theme, using DOORSTOP instead of "that hideous
  66.       DOORTRAK", using appropriate lighting (and special lighting effects),
  67.       keeping room size down whenever possible, being careful about mixing and
  68.       matching differing textures at the same elevation, and for non-linear
  69.       level-design methods.  Also, for his never-ending stream of commentary,
  70.       and his critique of and suggestions for the first release of the
  71.       Handbook.  (Yeah, Doc, I fixed the Sidedef explanation.  Sheesh...)
  72.       Author of DRDEATH1 - DRDEATH9.
  73. Doug Bora:
  74.       Primarily for his explanation of pegging and unpegging textures, what it
  75.       looks like, and why to use it.  Author of at least one deathmatch level
  76.       that I know of (REVILE.WAD).
  77. Rick Thoma:
  78.       For providing an in-depth analysis of the "busy vertex" problem (known
  79.       as the Tesseract), and for discovering that it results from a node
  80.       construction error as opposed to a level-design error.  Also "for
  81.       directing [me] to some sources, and maybe for starting some interesting
  82.       threads [on the FIDO DOOM echo]."  There you go, Rick.  Just like you
  83.       wanted. :)
  84. Sean Duggan, Paul Hackathorn, Matthew Mauger, Mackey McCandlish (Avatar), Jon
  85. McGuire, Martin Regimbald, Eric Schreiber, and Damon Thompson (Nomad):
  86.       For their invaluable assistance on my FidoNet "WAD Designers Tips"
  87.       survey, by telling me what they like (and DON'T like) to see in a level.
  88.       There may be WAD authors in this group (I'm pretty sure Avatar has made
  89.       at least one level), but I don't know the names of their levels...
  90. Stephen Hefner:
  91.       For testing and critique of my own levels, and for going through the
  92.       Handbook and applying it to his own levels -- and showing me where
  93.       the gaps in my explanations were.  Thanks, Hef!
  94. Sam Taylor <samtay@welchlink.welch.jhu.edu>:
  95.       For so kindly putting the first (and subsequent) releases of the
  96.       Handbook on ftp.cdrom.com, and for other items too numerous to
  97.       mention.  ("Hey, I've got a GUN." :)
  98. Andrew Tefft <teffta@crypt.erie.ge.com>, Rick Olson <killjoy99@aol.com>,
  99. Mario Garcia <remington@aol.com>, Liam Sullivan <afn03803@freenet.ufl.edu>,
  100. "Boney" <phauck@ipswichcity.qld.gov.au>, and Todd Sealey <tsealey@pop02.
  101. ny.us.ibm.net>:
  102.       For all their commentary and suggestions for the next revision (this
  103.       one!) of the Handbook, and all their help in defining what I left
  104.       out.  (Yes, I'm putting in the teleporter definition, and I'm gonna
  105.       re-define the lifts!)  :)
  106. Matt Seddon (from MaTT!'s InSaNiTy, JoHaNnEsBuRg, RsA (5:7101/57.25)):
  107.       For his relentless insistence on my completing the next release, and
  108.       for pointing out that the WALKTHRU.WAD is useless to someone that has
  109.       DOOM II.  (Yeah, I fixed it, Matt.  Greets!  :)
  110. Jeff Rabenhorst <araya@wam.umd.edu>:
  111.       For thinking that release 1.0 of the Handbook was good enough to put
  112.       in EdMap 1.40.  :)
  113. Scott Amspoker <scott@basis.com>:
  114.       His document about managing textures (including unpegging and X and Y
  115.       offsets) was invaluable to my understanding of these two features.
  116.  
  117. And, of course, everyone else that wrote to me with suggestions and comments
  118. on the first one that I've forgotten and left out, and to those who have
  119. downloaded this and used it:  Thanks!
  120.  
  121.       This Handbook would also not be complete without the generous assistance
  122. of the following "Unofficial" publication authors:
  123.  
  124. Hank Leukart <ap641@cleveland.freenet.edu>:
  125.       Author of the DOOM FAQ, and distributor of The Unofficial DOOM Specs,
  126.       from whom permission was obtained to use the various monster sizes and
  127.       some of the definitions of terms.  Thanks, Hank!
  128. Matt Fell <matt.burnett@acebbs.com>:
  129.       Author of The Unofficial DOOM Specs, which I recommend to every serious
  130.       WAD author.
  131. Tom Neff <tneff@panix.com>:
  132.       Author of the DESIGN11.FAQ, an invaluable guide to questions and answers
  133.       for most common WAD problems and mistakes, from whom came The 10 Most
  134.       Common Design Errors (used with permission).
  135.  
  136. (Yeah, the Acknowledgements section is kinda huge, but without the help and
  137. advice of the people listed above, you wouldn't be reading this!)
  138.  
  139.  
  140.       Files Included In This Archive
  141.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  142.       In case this is the first thing you're reading, the files that should
  143. have been in the archive you downloaded are:
  144.  
  145.       FILE_ID .DIZ            The i.d. file that a lot of BBSs use.
  146.       HANDBOOK.HLP            The Windows help file version of the Handbook.
  147.       HANDBOOK.TXT            You're reading it.
  148.       HISTORY .TXT            The history of the Handbook's revisions.
  149.       WAD_AUTH.TXT            The template for WAD authors.
  150.       WALKTHRU.WAD            The "example" level.
  151.       WALKTHRU.TXT            The guide for the example level.
  152.       WLKTHRU2.WAD            The DOOM II version of WALKTHRU.WAD
  153.  
  154. Note:  All the dates on the above files should match the date at the top
  155.        of this document -- May 31, 1995.
  156.  
  157.       Comments from the author:
  158.       ~~~~~~~~~~~~~~~~~~~~~~~~~
  159.       Well, folks, here it is -- the newest release of the WDTH.  If you have
  160. any comments, complaints, suggestions, or additions, I can be reached at the
  161. following locations:
  162.  
  163.       *  The FidoNet DOOM echo (posting as BILL MCCLENDON)
  164.       *  Caxius BBS (1-510-895-6961 -- leave e-mail to BILL MCCLENDON)
  165.       *  The Cat's Meow BBS (1-510-471-0603; again, as BILL MCCLENDON)
  166.       *  Internet address:  bill.mcclendon@creature.com
  167.       (For fastest results, the Internet address is best.)
  168.  
  169.       I welcome any additions to this document, and I know there should be
  170. quite a few.  Let me know what you think of it!  Thanks.
  171.       I was very impressed with Hank Leukart's DOOM FAQs and Matt Fell's The
  172. Unofficial DOOM Specs, and I'd like to acknowledge their influence in this
  173. document's format, structure, and content.  Most of the information I've got
  174. about the structure of the DOOM IWAD and it's use came from release 1.3 of the
  175. Specs, and, though that article is more technical than a level author needs, I
  176. highly recommend it.
  177.       Have fun, and good DOOMing!         -- Bill
  178.  
  179.  
  180. --------
  181. Contents
  182. --------
  183.  
  184. # indicates a revision of information from the previous release.
  185. * indicates completely new information.
  186.  
  187. #0-0# Introduction
  188.       Copyright Information and Disclaimer
  189.       Acknowledgements
  190.       Files Included In This Archive
  191.       Comments from the Author
  192.  
  193. [1-0] Definitions And Terminology (Glossary)
  194.       [1-1]  Vertex
  195.       [1-2]  Linedef
  196.       #1-3#  Sidedef
  197.       #1-4#  Sector
  198.       #1-5#  Texture
  199.              #1-5-1# X and Y Offset
  200.              [1-5-2] Unpegging Textures
  201.       [1-6]  Things
  202.       [1-7]  Nodes
  203.       [1-8]  Tags
  204.       [1-9]  Sprites
  205.       [1-10] Blockmap, Ssectors, Segs
  206.       [1-11] Reject
  207.       [1-12] HOM
  208.  
  209. [2-0] Designing The Level
  210.       [2-1] Overall Tips, Reminders, And Procedures
  211.             [2-1-1] The First WAD You Make Is Gonna Suck.
  212.             [2-1-2] Also, When Designing A Level...
  213.             [2-1-3] If You Can Change The Default Textures...
  214.             [2-1-4] Take The Time And Read The Docs.
  215.             [2-1-5] When Actually Building The WAD...
  216.             [2-1-6] Having A Procedure...
  217.       [2-2] Theme
  218.             [2-2-1] Textures
  219.             [2-2-2] Dimensions
  220.             [2-2-3] Lighting
  221.             [2-2-4] Monsters
  222.             [2-2-5] Items
  223.       [2-3] Style
  224.             [2-3-1] The Planner
  225.             [2-3-2] The Modifier
  226.             [2-3-3] The Discoverer
  227.  
  228. [3-0] Building The Level -- Basic
  229.       [3-1] Rooms
  230.       [3-2] Hallways
  231.       #3-3# Windows
  232.       #3-4# Doors
  233.             [3-4-1] Recessing Doors
  234.             [3-4-2] Secret Doors
  235.       #3-5# Lifts
  236.       #3-6# Stairs
  237.       *3-7* Teleporters
  238.       *3-8* Linking Linedefs To Remote Events
  239.       *3-9* Outdoors Areas
  240.  
  241. [4-0] Building The Level -- Intermediate -- Tips And Effects
  242.  
  243. [5-0] Checklist
  244.  
  245. [6-0] Finishing Up
  246.  
  247. [APPENDIX A]  Sizes Of The Various Things
  248.  
  249. [APPENDIX B]  The 11 Most Common Design Errors
  250.  
  251. [APPENDIX C]  The Walk-Through
  252.  
  253. *APPENDIX D*  What Those Error Messages Mean
  254.  
  255. [APPENDIX E]  End Notes
  256.  
  257.  
  258. ---------------------------------------------
  259. [1-0]  Definitions And Terminology (Glossary)
  260. ---------------------------------------------
  261.  
  262. VERTEX      A vertex is simply the point at which a linedef (see below) begins
  263.             or ends.  Each linedef must have two vertexes.  The "points"
  264.             between which the linedefs are drawn.
  265.  
  266.  
  267. LINEDEF     The line between the two vertexes.  These are usually defined as
  268.             walls, but can be the sides (viewed from above) of doors, windows,
  269.             stairs, boxes, switches, ledges, overhangs, cliffs, rivers, or
  270.             whatever else you can think of.  There are two types of linedef:
  271.  
  272.                   ->  One-sided: means that the player will only be able to
  273.                   see (and play by) one side of this linedef.  The most common
  274.                   example of a one-sided linedef is an outside wall.
  275.  
  276.                   ->  Two-sided: means the player will be able to see (and
  277.                   play by) BOTH sides of this linedef.  Common examples are an
  278.                   interior window and a river/pit.
  279.  
  280.             IMPORTANT:  Each linedef has a "right" side and a "left" side. 
  281.             The "right" side is the side that should face the player, if the
  282.             linedef is one-sided.  This is _very_ important!  Most, if not
  283.             all, level-building programs give you a visual aid to determine
  284.             which side of the linedef is the "right" side -- they have a small
  285.             perpendicular line, at the midpoint of the linedef, pointing
  286.             towards the "right" side of the linedef.  For example:
  287.  
  288.             This linedef's "right"      |                                
  289.             side points to the right    |_                               
  290.             side of the page ----->     |                                
  291.             (See the little stick?)     |                                
  292.  
  293.             A 2-sided linedef will also have a "right" side, but since the
  294.             player will be able to see and/or play on both sides of the
  295.             linedef, it's not as critical to have it pointing in any given
  296.             direction.  It is easier on you, though, if you make a habit of
  297.             having all the "right" sides of adjacent linedefs pointing in
  298.             towards the same sector.
  299.  
  300.             ALSO IMPORTANT:  The "right" side is often referred to as the
  301.             "front", and the "left" side is often referred to as the "back" of
  302.             the linedef, in case the level-building program you decide upon
  303.             does not make the "right" and "left" distinction.
  304.  
  305.  
  306. SIDEDEF     From The Unofficial DOOM Specs:  "A sidedef is a definition of
  307.             what wall texture to draw along a linedef, and a group of sidedefs
  308.             defines a sector."  Most people I know (including myself) use the
  309.             terms SIDEDEF and LINEDEF interchangeably, even though they're
  310.             technically not the same thing.
  311.  
  312.          #  However, some editors do make the distinction between Sidedefs and
  313.          #  Linedefs.  Basically, a Linedef is the "foundation" of any partic-
  314.          #  ular structure (wall, door, what have you) and the Sidedef is the
  315.          #  part that you can see -- the part that defines sector assignments,
  316.          #  texture placement, and the like.  <See "TEXTURE" below for an
  317.          #  expanded explanation of texture application to Sidedefs.  Also see
  318.          #  "SECTOR" for that definition as well.>
  319.  
  320.  
  321. SECTOR      One of the most difficult concepts to explain, yet one of the most
  322.             important ones for a WAD author to know.  The DOOM Specs define a
  323.             sector as "a horizontal (east-west and north-south) area of the
  324.             map where a floor height and ceiling height is defined.  It can
  325.             have any shape.  Any change in floor or ceiling height or texture
  326.             requires a new sector (and therefore separating linedefs and
  327.             sidedefs)."  Sectors are defined by the sidedefs that compose
  328.             them; a sector is simply a group of sidedefs that enclose a given
  329.             area, and you have to tell DOOM which sidedefs are part of which
  330.             sector.  It only sounds complicated because it's difficult to
  331.             explain; once you define a sector, you'll understand it.
  332.  
  333.             What this means is every time you draw an enclosed space, no
  334.             matter how many sides it has, it must be defined as a sector. 
  335.             Also, if you put an enclosed space _inside_ another closed space,
  336.             they both must be defined as sectors separately, as well as
  337.             together.  For instance:
  338.  
  339.             * Every step in a stairway must be defined as a separate sector.
  340.             * Each doorway must be defined as a sector.
  341.             * A square support must be defined as a sector, if you draw it.
  342.  
  343.          #  Note that sometimes it's necessary to _not_ define a structure as
  344.          #  a sector, or you'll have difficulty with it.  Example: you've got
  345.          #  a free-standing structure that has solid walls.  If you define the
  346.          #  "walls" of this structure as sectors, all the exterior walls will
  347.          #  be 2-sided linedefs, and the player will be able to walk through
  348.          #  them.  This is an undesired effect.  Simply don't define the parts
  349.          #  you don't want the player to walk through as sectors.  This will
  350.          #  keep the outside walls "solid" and impassable.
  351.  
  352.             An example of the "sector inside a sector", and how to define
  353.             them:
  354.              ________________________    Let's say that sector 1 is a pallet
  355.             |       sector 1         |   and sector 2 is a box on that pallet.
  356.             |       ____*___         |   Sector 1 is going to be defined as
  357.             |      |        |        |   all of the outside lines that form
  358.             |      |sector 2|        |   the square, PLUS all the lines that
  359.             |      *        *        |   form the outside of sector 2.  (These
  360.             |      |____*___|        |   are the lines with the * in them.)
  361.             |________________________|
  362.                                          Sector 2, however, is only the lines
  363.                                          in the box itself.
  364.  
  365.             In order to see an example of this, load the WAD editor you've
  366.             decided to use, and view E1M1 from the original DOOM.WAD.  Don't
  367.             worry -- if you don't actually tell the program to save, it won't
  368.             change your original DOOM.WAD (though it's a good idea to have it
  369.             backed up in any case).  Look at the outside courtyard -- with the
  370.             poison pit in the center and the blue armor in it -- and highlight
  371.             the courtyard's sector.  Note how the outside walls of the
  372.             courtyard AND the outside walls of the pit are both highlighted
  373.             when you choose the COURTYARD's sector.  The pit is INSIDE the
  374.             courtyard's sector, but it is important to note that the pit is
  375.             not PART OF the courtyard's sector.
  376.  
  377.             *  INSIDE a sector = enclosed by that sector, but not subject to
  378.             the ceiling height, floor height, lighting level, or special
  379.             effects for that sector.
  380.  
  381.             *  PART OF a sector = enclosed by that sector and subject to the
  382.             ceiling height, floor height, lighting level, or special effects
  383.             for that sector.
  384.  
  385.             Since the level of the poison pit is below the "floor" of the
  386.             courtyard, we know that the pit and the courtyard are different
  387.             sectors.  Since they share common linedefs, though (the walls of
  388.             the pit), the pit sector must be defined as INSIDE the courtyard
  389.             sector.
  390.  
  391.             One more last important note:  every linedef or sidedef you draw
  392.             on the map MUST BE DEFINED IN AT LEAST ONE SECTOR!  If there are
  393.             "stray" linedefs on the map, and you try to load DOOM, it will
  394.             crash every single time.
  395.  
  396.  
  397. TEXTURE     A texture is the graphic that DOOM applies to visible (to the
  398.             player) surfaces, both horizontal and vertical.  Vertical textures
  399.             (walls, doors, etc.) are selected on and applied to the sidedefs,
  400.             while horizontal textures (floors, ceilings) are selected when you
  401.             define a sector.  <Also see "X- AND Y-OFFSET".>
  402.  
  403.             ** Horizontal textures:  These are selected from where you define
  404.             your sectors when you define or edit a sector.  When they are
  405.             applied, they appear on the floor or ceiling as a continuous,
  406.             north-south oriented texture.  What this means is no matter what
  407.             direction the linedefs in your sector face, the floors and ceiling
  408.             textures will always be oriented in the same direction.  This is
  409.             good, in a way, because you never have to worry about your floor
  410.             and ceiling textures being aligned between sectors; they always
  411.             mesh perfectly.  This is bad, however, because there are certain
  412.             floor and ceiling textures (FLAT20, for instance) that have a
  413.             distinctive pattern that looks great when the rooms are aligned
  414.             with it, but not so good when the room doesn't line up with the
  415.             pattern.
  416.  
  417.                   NOTE:  Teleport pads are the same way.  There is currently
  418.                   no way that I know of that you can move the floor texture to
  419.                   get the teleport pad texture to line up with your intended
  420.                   teleport pad -- you must move your teleport pad to line up
  421.                   with the texture.  Most (if not all) level editors will
  422.                   provide a grid (usually 64x64 in size) to help you align
  423.                   these textures.
  424.  
  425.             ** Vertical textures: These are selected where you define sidedefs
  426.             when you have drawn a linedef on the map.  I recommend that you
  427.             wait until you have the sector defined, and then put your chosen
  428.             texture on each sidedef in that sector, rather than making sure
  429.             you have the correct texture every time you draw a line.  Vertical
  430.             textures differ from horizontal textures in a number of ways:
  431.  
  432.                   1.  They have sizes, measured in pixels.
  433.                   2.  They can be "shifted" for different effects.
  434.                   3.  There can be more than one type of sidedef texture per
  435.                       sector; with horizontal textures, you can only have one
  436.                       texture for the floor and one texture for the ceiling
  437.                       for each sector.
  438.  
  439.             The sizes of the vertical textures vary, but they all have one
  440.             thing in common -- their sizes are always multiples of 8.  Some of
  441.             the vertical textures are contiguous (they will draw continuously
  442.             and smoothly, no matter the height and length of the linedef
  443.             they're pasted on), while others are a set size, and will put
  444.             "confetti" in between textures when pasted on a linedef that is
  445.             not the correct height and/or length.  Unfortunately, the only way
  446.             to discover which ones are which is through experimentation.
  447.  
  448.          #  Another type of texture that you should be aware of is the "single
  449.          #  patch" texture.  Not to go into too much detail here, but it's
  450.          #  like this:  DOOM's textures are made up of "patches", which are
  451.          #  then chosen and applied to form textures.  Most of the textures
  452.          #  you see in DOOM are "multi-patch" textures; that is, they use a
  453.          #  number of these patches to form and display the finished texture. 
  454.          #  The next time you view a texture in your editor's texture viewer,
  455.          #  note how DOOM displays it -- some of them will seem to draw and
  456.          #  draw and draw until the final texture is displayed.  What you're
  457.          #  seeing is the application of these patches to form the texture. 
  458.          #  For instance, in DOOM 1, COMP2 (that large computer wall with the
  459.          #  brown-stone-like middle and bottom) uses no less than 24 patches
  460.          #  to produce the final texture!  The CRAT* series is even worse;
  461.          #  some of _them_ have as many as 60!  However, there are a number of
  462.          #  textures in DOOM (both 1 and 2) that use only a single patch to
  463.          #  display the texture.  SLADWALL and ASHWALL are a couple examples. 
  464.          #  There are only two ways to determine which textures are single-
  465.          #  patch textures:  Try and put one over a "walk-through" space or
  466.          #  get a texture editor (such as NewWadTools <NWT103A.ZIP> or Wacker
  467.          #  <WACKERB7.ZIP>) to display them for you.  These texture editors
  468.          #  will have a "number of patches" field for you to refer to.  If you
  469.          #  put a multi-patch texture over a walk-through space, you get The
  470.          #  Medusa Effect, an undesirable error.  <See Appendix B for the
  471.          #  details on what this is.>
  472.  
  473.             * A recommendation:  whenever possible, note the height and width
  474.             of the textures you wish to use before you start drawing your
  475.             level, and try to adhere to their dimensions as much as possible. 
  476.             This will make the textures draw more clearly and accurately and
  477.             make your level look as good as possible.  Yes, I know it
  478.             restricts you to multiples of 8 when you're designing your rooms,
  479.             but it's not that hard to be creative with this slight constraint.
  480.  
  481.  
  482. X- AND Y-OFFSET
  483.  
  484.             These two items are related to the vertical textures, and are used
  485.             for `advanced' level-designers (whatever _that_ means) to be more
  486.             creative with their texture placement.
  487.  
  488.             First, a little primer of how DOOM draws textures, from what
  489.             little experience I have as a WAD author.  When DOOM pastes a
  490.             texture on a regular wall, it starts from the top left-hand
  491.             corner, and goes from top to bottom and left to right when drawing
  492.             a texture, like this:
  493.              ______________________
  494.             | * -------->          |   This is a regular, floor-to-ceiling
  495.             | |                    |   unbroken wall -- note that it has no
  496.             | |                    |   doors, no windows, and no changes of
  497.             | |                    |   elevation whatsoever.  DOOM starts
  498.             | V                    |   drawing the texture at the "*" and
  499.             |                      |   goes like the arrows indicate.
  500.             |______________________|
  501.                                     
  502.             Every time a new linedef starts, DOOM starts drawing the texture
  503.             over again, from top to bottom and left to right.  With wall
  504.             textures that have no distinctive pattern (like BROWNHUG), this
  505.             isn't a problem; the whole texture looks the same no matter how
  506.             many times you draw the first 16 columns of pixels.
  507.  
  508.             But what if you have a texture that has a distinctive, non-
  509.             repeating pattern, like a computer wall?  If you draw 5 linedefs
  510.             that are 16 pixels long, and apply this texture to it, it'll draw
  511.             the first 16 columns of pixels over and over and over, and it'll
  512.             look dumb.  An example of what the difference is between these 
  513.             two examples (one that has been offset, and one that hasn't) is in
  514.             the WALKTHRU.WAD and .TXT.
  515.  
  516.             There IS a solution, though -- x-offset.  What x-offset does is
  517.             tell DOOM, "Instead of placing this texture on this linedef like
  518.             normal, start drawing it x number of pixels over".  This will have
  519.             the effect of creating a seamless, unbroken texture, no matter how
  520.             many linedefs it's pasted on.  ** NOTE: The x-offset feature is
  521.             vital if you want to create a secret door that you really cannot
  522.             see!!  
  523.  
  524.             So, let's say you have 5 16-pixel long linedefs that you want to
  525.             put COMP2 on, but you want it to look smooth:
  526.  
  527.  
  528.                      1         3         4         6         8
  529.             0________6_________2_________8_________4_________0
  530.             |        |         |         |         |         |
  531.             | wall 1 | wall 2  | wall 3  | wall 4  | wall 5  |
  532.             |        |         |         |         |         |
  533.             |        |         |         |         |         |
  534.            
  535. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  536. ~~~~~~~~~~~
  537.  
  538.  
  539.             Use the x-offset on each linedef EXCEPT the one on the far left;
  540.             since DOOM starts on the left, the first one from the left is 
  541.             always "normal".  So the x-offset for the linedef/textures would
  542.             look like this:
  543.  
  544.             wall 1:    x-offset =   0  (Note: x-offset can be a negative
  545.             wall 2:    x-offset = +16   number, too, if the texture you're
  546.             wall 3:    x-offset = +32   offsetting is narrow enough.  The
  547.             wall 4:    x-offset = +48   limit to a negative offset is 96;
  548.             wall 5:    x-offset = +64   there doesn't appear to be a limit
  549.                                         on the amount of positive offset.)
  550.  
  551.             * A recommendation:  to get the amount of the x-offset for any
  552.             given wall texture, just add the amount of the lengths of the
  553.             linedefs from the place where you think the texture should be
  554.             drawn from; for example, wall 4 begins 48 pixels away (to the
  555.             right) from where wall 1 began, so the x-offset would be +48. 
  556.             This will work with negative offsets as well, but since I don't
  557.             have much experience with negative offsets, I'll leave that up to
  558.             the reader for experimentation.
  559.  
  560.             Y-offsetting works the same way, except instead of horizontally,
  561.             it goes vertically.  The way the + and - in the offset affect the
  562.             texture goes like this:
  563.  
  564.             _________________________
  565.             |          /|\          |    A "+" y-offset will move the texture
  566.             |           |  (+)      |    UP towards the TOP of the linedef
  567.             |           |           |    you're applying it to.
  568.             |                       |
  569.             |           |           |
  570.             |           |  (-)      |    A "-" y-offset moves the texture
  571.             |           |           |    DOWN towards the BOTTOM of the 
  572.             |__________\|/__________|    linedef you're applying it to.
  573.  
  574.             One of the textures I find myself y-offsetting is the BIGDOOR1
  575.             texture (the UAC door).  By making a 64-high doorway, and 
  576.             y-offsetting the texture +8, the UAC symbol on the door doesn't
  577.             look "cut off" by the top of the doorframe.  Alternately, if you
  578.             y-offset this texture by more than -8, you get "confetti" at the
  579.             top of the door.
  580.  
  581.  
  582. UNPEGGING TEXTURES
  583.  
  584.             This is the process of telling DOOM to draw textures backwards
  585.             from how it usually draws them in a given situation; i.e., bottom
  586.             to top instead of top to bottom.  This attribute is only handy in
  587.             a few situations (like windows and secret doors and doorjambs and
  588.             stairways); therefore, this attribute will be explained in detail
  589.             in those sections.  (See also Scott Amspoker's guide to unpegging
  590.             textures for much more detailed information.)
  591.  
  592.  
  593. THINGS      This is a general term for any item in the game, animate or
  594.             inanimate.  Things are loosely grouped into 8 categories:
  595.  
  596.             Player   : player 1-4, co-op, and deathmatch starting positions.
  597.             Weapon   : chainsaw, shotgun, chaingun, rocket launcher, etc.
  598.             Ammo     : single loads and boxes; all ammunition
  599.             Enemy    : imps, demons, spectres, etc.  All the baddies.
  600.             Bodies   : pools of blood, exploded bodies, dead creatures, etc.
  601.             Obstacles: pillars, torches, lamps, barrels, etc.
  602.             Power-ups: medikits, soul spheres, armor, invisibility, etc.
  603.             Misc.    : keys, teleport destinations, etc.
  604.  
  605.             All of the Things are placed on the map by the WAD author.  Note: 
  606.             each Thing is 10 bytes, so 100 of them is 1k; monster-fests take
  607.             up quite a bit of memory!  Place Things with discretion...
  608.  
  609.             When each Thing is placed, there are a number of criteria that
  610.             each one has that you need to be aware of:
  611.  
  612.             * They can be tagged so they only appear on certain difficulty
  613.             levels, or only in deathmatch games, both, or neither.  This
  614.             applies to ALL Things, not just monsters.   This is helpful if
  615.             you don't want to change the monster mix when increasing the
  616.             difficulty levels; simply remove health and ammo by changing the
  617.             "levels available" flag...
  618.  
  619.             * They can be tagged to face in one of 8 directions.  Obviously,
  620.             this only really matters with monsters and teleport destinations.
  621.             The 8 directions are northwest, north, northeast, east, southeast,
  622.             south, southwest, and west.  (This is in relation to the
  623.             orientation of the map, where the top of the screen is north.)  
  624.             From experience, I've found that monsters generally have a
  625.             180-degree field of vision, for activation purposes.
  626.  
  627.             * They can be tagged to be "deaf".  This applies to monsters
  628.             only.  Monsters will become "active" (meaning they'll actively
  629.             search for and try to kill the player) under one of three
  630.             conditions:
  631.                   1.  They see him/her.
  632.                   2.  They hear a shot (including a punch!).
  633.                   3.  They are shot by him/her.
  634.             If a monster's "deaf" flag is set, option #2 will not activate the
  635.             monster.  In most cases, in my opinion, it is best to set the
  636.             "deaf" flag to ON, making the monster deaf.  Otherwise, the first
  637.             time the player shoots anything, half to three-quarters of the
  638.             level "wakes up" and starts hunting, spoiling all those wonderful
  639.             ambushes... This is why knowing the monsters have a 180-degree
  640.             field of vision is important; they have to be able to see the
  641.             player to become "active", and knowing which direction they have
  642.             to face to see him/her becomes critical.
  643.  
  644.             It will take some practice for you to determine the right balance
  645.             of Things in your levels.  Don't be afraid to experiment!
  646.  
  647.  
  648. NODES       This is another vital concept for the level author, but, luckily,
  649.             the technical parts of their construction may be omitted.  If you
  650.             would like a detailed explanation of how nodes are built, and the
  651.             way they are generated, the Unofficial DOOM Specs has a lengthy
  652.             description.  For the level author, though, you need to know this:
  653.  
  654.             Nodes are DOOM's way of determining what the player is able to see
  655.             from any given location.  Every WAD _MUST_ have a node-tree built
  656.             for the level to be able to run; otherwise, DOOM will crash when
  657.             you try to play your level, with a variety of fatal errors.
  658.  
  659.             Most level-building programs have a node-builder built into the
  660.             program itself.  Some are better than others, but I personally
  661.             have not found a better node-builder than BSP 12x, by Colin Reed. 
  662.             In general, the more nodes the node-builder is able to locate and
  663.             "build", the more "solid" the level will be.  For reference, a
  664.             symptom of an inferior node-builder is the ability of the player
  665.             to "walk through" a solid wall; if you experience this problem
  666.             with the node-builder you're using, get a better one.  WADED, DEU,
  667.             DOOMEd, and DOOM-CAD all come with their own node-builders.  I
  668.             have no experience with any other level-builders, so I cannot
  669.             verify the existence of more than these.  In addition, there are
  670.             "independent" node-building programs, which means that building
  671.             the nodes for levels is their entire function.  There are only two
  672.             of these that I know of:  BSP 12x and IDBSP, which is the node-
  673.             builder Id uses, ported to DOS.
  674.  
  675.  
  676. TAGS        This is how DOOM links linedef activation to various sector
  677.             events.  A tag is simply a number that a linedef and it's linked
  678.             sector share, for purposes like lifts, doors, crushing ceilings,
  679.             etc.  More on this in later sections.
  680.  
  681.  
  682. SPRITES     The way I understand it, Sprites are the textures for various
  683.             items in the game.  Most often, it refers to the creatures and
  684.             actual items (Things), but can be used to refer to walls, floors,
  685.             ceilings, and even the weapons the character carries.  Sprites may
  686.             be modified by various programs, but that is beyond the scope of
  687.             this Handbook.  It is enough to say that most, if not all, of the
  688.             textures, creatures, and items in the game may be changed by the
  689.             enterprising, creative, and persistent WAD author.
  690.  
  691.  
  692. BLOCKMAP, SSECTORS, SEGS
  693.  
  694.             These are various attributes used (and referenced) by node-
  695.             building programs to build the nodes that will enable your level
  696.             to be played.  Again, a more detailed explanation is available in
  697.             The Unofficial DOOM Specs.
  698.  
  699.  
  700. REJECT      (This next section is mostly opinion.)   A reject table is part of
  701.             the node-building process.  It is designed to "speed up" your DOOM
  702.             level by reducing the number of calculations DOOM has to perform.
  703.  
  704.             Each second, DOOM must figure out where each monster is, if each
  705.             monster has been activated, where the player is, which monsters
  706.             the player has activated, etc.  It does this for EACH monster on
  707.             the map EVERY second.  What the reject table does is tell DOOM
  708.             which monsters it has to check, based on where the player is at
  709.             any given time.  (This is why I feel it's related to the nodes
  710.             function.)  A reject table tells DOOM ONLY which monsters it has
  711.             to check, instead of checking ALL of them, and not having to check
  712.             every monster every second speeds DOOM up.  This is the function
  713.             of a reject table.  This may or may not be correct; if anyone
  714.             knows differently, or can explain it better and more easily,
  715.             please feel free to send me some mail, and correct me!
  716.  
  717.  
  718. HOM         An abbreviation for [H]all [O]f [M]irrors effect.  This will occur
  719.             primarily when a linedef does not have a texture applied to it in
  720.             the correct place.  Also happens when textures are applied where
  721.             they shouldn't be (i.e., on both visible sides of a window), and
  722.             when a linedef is defined improperly in a sector.  Lastly, if
  723.             there are too many 2-sided linedefs visible (for  1, this
  724.             number is 16;  1.666 and higher can handle 32) you'll get
  725.             "texture bleed", which, for all intents and purposes, looks like a
  726.             HOM.  Careful building and checking will eliminate this problem.
  727.             Note that this is a common error for the novice level-maker.
  728.  
  729.  
  730. --------------------------
  731. [2-0]  Designing The Level
  732. --------------------------
  733.  
  734.  
  735.       Okay.  This is the part you've been (patiently, I hope) waiting for. 
  736. This section is going to consist of overall, general things you might want to
  737. know about designing a level, like theme and lighting and texture selection
  738. and procedures and such.  The nuts-and-bolts part of level creation, the
  739. actual _building_ and stuff like that, is in the next section, "Building The
  740. Level".  This is more of an overview and recommendation section.  Generally
  741. speaking, a level that is "built" without first being "designed" has less
  742. continuity and has a more haphazard appearance.  (Note that this feature may
  743. actually be an advantage if you're designing a deathmatch level!)  Most of the
  744. information in this section is unnecessary, really, but instead of learning it
  745. by trial and error (like a lot of WAD authors have, including me), you can
  746. just read this section and learn from _our_ mistakes.  Not a bad deal, eh?
  747.  
  748. (Note: this next section is very nearly entirely opinion, based on the
  749. experiences I've had playing PWADS (over 1,400 of them as of May 31), the 
  750. experiences others have had playing PWADs (from a survey taken on the FIDO 
  751. echo), and the experience I've had making my very own levels.  If you don't 
  752. agree with some of this, all of this, or any of this, that's more than fine.  
  753. If you've got opinions of your own that you'd like to have added to this file, 
  754. e-mail them to me and I'll include them in the next version of this thing.  
  755. Sound good?)
  756.  
  757.  
  758. OVERALL TIPS, REMINDERS, AND PROCEDURES
  759. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  760.       This section will give you a few general tips, recommendations, and
  761. procedures to follow to design and build your first WAD.  This is only because
  762. you've probably never designed and/or built a WAD before, and it's good to
  763. have some sort of framework to use at first.  When you become more
  764. experienced, and feel more confident about building WADS, you'll probably end
  765. up with your _own_ way to do it, that _you_ feel most comfortable with, but
  766. for now, take a look at this stuff, so you have somewhere to start.
  767.  
  768.       THE FIRST WAD YOU MAKE IS GONNA SUCK.  There's just no way around it. 
  769. You've never built a WAD before, and you don't really know what looks good and
  770. what doesn't, so it's gonna bite big-time.  Accept this, and then build the
  771. first one anyway.  Try out every single function of your WAD maker somewhere
  772. on this "test" level.  Learn how to make a door, a window, a damage sector,
  773. different lighting, stairways, ledges.  Learn how to link a linedef to a
  774. sector event, learn how to hide secret doors from the player, learn how to set
  775. up monsters for maximum ambush effect.  Learn how to unpeg textures (and what
  776. that looks like), learn how to use differing textures, learn how the X and Y
  777. offset work and what they look like when you use them, learn how to do just
  778. about everything... WITHOUT WORRYING ABOUT IF IT LOOKS COOL OR PLAYS
  779. WELL.
  780. This first one is your experimentation level, and you're SUPPOSED to mess up
  781. on it.  It's not like you'll be releasing this thing for people to play; it's
  782. like your chalkboard, where you figure out the answers to the problems.  Plus,
  783. the time you spend on this first one is time you'll save later, because
  784. nothing is more aggravating than trying to add an effect you haven't done
  785. before and destroying a large portion of the level you want other people to
  786. see.  Trust me.  I've done it MORE than once... Practice, practice, practice.
  787.  
  788.       ALSO, WHEN DESIGNING a level (the test one or any other), make it a
  789. habit to save as many different versions of your WAD as you can under
  790. different filenames.  That way, if you mess something up, you've always got a
  791. recent version or two to fall back on, and you won't have to spend a ton of
  792. time redoing a bunch of stuff that you've already perfected.  A good way to do
  793. this is to change the last digit of the filename sequentially every time you
  794. save a new version; i.e. TEST0.WAD, TEST1.WAD, TEST2.WAD, TEST3.WAD, etc. 
  795. When you run out of numbers, go to letters.  When you reach the end of the
  796. alphabet, start over -- heck, by that time you'll have 36 versions of your
  797. level on the hard drive, and it's safe to say that the oldest one is probably
  798. obsolete.  Or, you could just set up the Undelete Sentry program that DOS has
  799. (versions 6.0 and later, I believe), which will store all your deleted files
  800. for a period of time.  This is nice, but it soaks up a lot of hard drive
  801. space.
  802.  
  803.       IF YOU CAN CHANGE the default textures in your level-builder, I strongly
  804. suggest that you do so.  WADED (the one I use) uses the STARTAN3 texture as a
  805. default when drawing new linedefs, and since I hate that texture (and will
  806. probably never use it), it becomes tedious to change it every time I want to
  807. draw something.  I don't know how other editors work, but if you can set your
  808. own defaults for certain things (like lighting level, floor, wall, and ceiling
  809. textures, sensitivity and roundoff of the mouse pointer, etc.), it will save
  810. you quite a bit of time in the long run.
  811.  
  812.       TAKE THE TIME TO read the docs to your preferred levelmaker!  You
  813. absolutely have to understand how it works to make the best level possible. 
  814. DEU has a nice on-line tutorial that runs you through its basic functions, and
  815. while it might seem like kind of a pain, it's worth the time you invest in it.
  816. Other editors just come with the .TXT files, and the Windows version ones
  817. usually have a help file.  Read everything!  The time you spend on this now is
  818. the time you'll save later when you can't figure out exactly how something is
  819. supposed to work...
  820.  
  821.       WHEN ACTUALLY BUILDING THE WAD, another recommendation:  make wall
  822. lengths, door depths, and ceiling heights multiples of 8.  While this may seem
  823. limiting to your creativity at first, the time you'll save lining up textures
  824. will be more than worth it.  Besides, the player can't tell how many pixels
  825. high or wide the wall is, and usually doesn't care, as long as it looks good. 
  826. Using multiples of 8 will make it look good.
  827.  
  828.       HAVING A PROCEDURE TO actually construct the WAD is helpful to the
  829. novice, but once you get going on making WADs, you'll almost certainly have
  830. your own personal way of construction that works best for you.  For now,
  831. though, here's a method that you can either write down or copy so you don't
  832. inadvertently forget anything the first time you build a level:
  833.  
  834.       1.  Draw the room the way you want it to look -- put up the walls and
  835.       vertexes and stuff like that.  Make sure the linedef lengths are
  836.       multiples of 8, for easier and more consistent texture mapping.
  837.  
  838.       2.  Define the sector.  Use the automatic "Make Sector" function if your
  839.       level-builder has one; when you become more experienced, you can define
  840.       your sectors manually for greater accuracy.
  841.  
  842.       3.  Check the sector.  Make sure all your linedefs are pointing in
  843.       towards the sector you've just defined, and make sure all the linedefs
  844.       that are supposed to be defined in that sector ARE defined in that
  845.       sector.  (This is the most common cause of errors the novice experiences
  846.       when designing his/her first WAD, by the way.)
  847.  
  848.       4.  Modify the sector.  Define the ceiling and floor heights you want,
  849.       the lighting level, the floor and ceiling textures, and any special
  850.       lighting or damage effects you want this sector to have.
  851.  
  852.       5.  Check the linedefs.  Make sure every linedef in that sector has the
  853.       proper texture applied to it, and in the proper place.  (Not performing
  854.       this task is the biggest cause of HOMs -- having linedefs without
  855.       textures applied to them.)
  856.  
  857.       6.  (Optional)  Place the Things you want in this sector.  I recommend
  858.       that you do this when the entire level has been built, but I understand
  859.       the desire to have monsters running around when you first build your
  860.       level.  The time of placing monsters is a personal thing.
  861.  
  862.       7.  Save the WAD.  Every single time you add a new sector, SAVE!  This
  863.       is something that should become habit.  If you have an "auto-save"
  864.       feature, enable it.  This one thing will save you more time than any
  865.       other thing I could recommend; if you mess something up, you'll at least
  866.       have what you've done correctly already saved, and you won't have to
  867.       waste the time re-creating a sector you had already created perfectly. 
  868.       NOTE:  Don't forget to increment the last digit on the saved filename!
  869.  
  870.       8.  Build the nodes.  Use the node-builder built-in to your level
  871.       builder, or (recommended) get a copy of BSP 12x, exit to DOS, and build
  872.       your nodes with this program.
  873.  
  874.       9.  Test it.  Fire up DOOM, enter your WAD on the command line, and
  875.       check your new sector.  Have a pencil and piece of paper ready, and make
  876.       notes to yourself to fix things that you haven't done quite right. 
  877.       Writing down things to fix is the best way to remember everything when
  878.       you get back into your level-editor.  NOTE: DOOM, for some reason, can
  879.       sometimes have problems when running a WAD that is a single sector. 
  880.       Make sure you have at least two sectors defined the first time you run
  881.       your WAD, to prevent any possible crashing.  Also, make sure that you 
  882.       always include a Player 1 Start position, or DOOM will crash.  I
  883.       recommend that you make a batch file for the testing of your WAD, as
  884.       well; with as many times as you're going to have to test it, it'll save
  885.       you a bunch of keystrokes.  Mine looks like this:
  886.  
  887.  
  888.       ---[TEST.BAT]------------------------------------
  889.                   cd\doom
  890.                   doom -file c:\levlmakr\%1.wad
  891.                   cd\levlmakr
  892.                   waded
  893.       --------------------------------------[endfile]--
  894.  
  895.       (WADED, my level-builder, is in a directory called C:\LEVLMAKR.  What I
  896.       enter on the command line is "test <filename w/o .WAD>".  The batch file
  897.       changes to my Doom directory, enters the filename w/o .WAD in the
  898.       command line in the proper place, and, when I exit Doom, goes right back
  899.       into my level-builder.  If you decide to use this batch file, modified
  900.       for your own directory structure, copy it as is -- besides the dashed
  901.       lines that have the name of the file and the "endfile" flag, and change
  902.       the "cd\" entries to reflect your directories.  Of course, if you know
  903.       what you're doing with batch files, ignore this.)
  904.  
  905.  
  906. THEME
  907. ~~~~~
  908.       Every good level has to have a theme.  As a WAD author, you probably
  909. have some idea of what kind of theme you want already, but if you don't, I
  910. highly recommend that you find a theme before you start building.  Nothing is
  911. more annoying to a player than finding hell textures placed without reason in
  912. the middle of a computer room!  A plus to having a theme is that your level
  913. will have a logical reason for "existing"; rooms will have functions, and the
  914. way the level is laid out will make sense from an architectural and functional
  915. standpoint.  If the level has a theme, and the placement of the rooms makes
  916. sense, the player will understand this and the level will play better. 
  917. Another advantage to having a theme is that the level will practically build
  918. itself, in terms of room layout, size, and function.  If you know what kind of
  919. level you're building, you won't even have to _think_ about what to do next;
  920. you'll already have a mental image of what this type of structure is supposed
  921. to look like.
  922.       For example:  my first WAD is titled "Sub-Station Alpha".  What it's
  923. supposed to be is a "sub-station" for trans-dimensional research that was
  924. under construction by UAC at the time of the breakdown, and it's mostly
  925. underground.  Right there, you can tell that there are going to be a couple of
  926. "unfinished" areas, where the construction crews haven't been yet, and the
  927. textures will be solid rock.  The layout of the walls will not be smooth and
  928. even, either.  Since UAC had Marines guarding the station, there will be a
  929. couple of guard posts.  There will be a cargo bay, for the unloading of
  930. construction materials.  There will be a "checkpoint" right outside the
  931. entrance lift, to check in visitors and new arrivals.  And there will be a
  932. "testing room", where the UAC scientists conducted their experiments before
  933. the fateful day.  Also, there won't be many (if any) windows.  Do you see now
  934. how easy it is to build levels when you've got a theme?  You don't even really
  935. have to think about _what_ type of room to make, only how big it's going to be
  936. and where it's going to go.  And, of course, how many monsters you can stuff
  937. into it...
  938.  
  939.       TEXTURES are another major factor to consider when making levels. 
  940. They've got to "blend" logically and consistently in order to make the best,
  941. most "realistic" level possible.  In other words, keep the hell textures out
  942. of the computer room, and don't make lifts with nukage floors!  You'll have to
  943. experiment with the textures to see which ones work best together.  I suggest
  944. making a list of the ones you think you'll be using, based on the type of
  945. level you'll be building, so you don't have to preview all the textures every
  946. time you want to use a different one.  I also suggest putting them in groups
  947. by category, such as "hell textures", "computer textures", "stone", "cement",
  948. etc.  That way, you'll be able to pick a texture based on the type of room
  949. you're building quickly and easily.
  950.  
  951.       DIMENSIONS are also important.  Lots of big rooms are kind of fun, but
  952. very large rooms virtually require a lot of monsters to adequately "defend"
  953. them, and lots of monsters slow the game down.  Of course, making rooms too
  954. small may irritate the player, as there will be no room to dodge.  You've got
  955. to strike a balance between size and playability, here.  Also, don't forget
  956. the elevation changes!  Stairways, while complex, are really necessary for a
  957. fun level, and lifts add to the possibilities for height changes.  You could
  958. also go to the extreme and use nothing but "cliff-like" drop-offs with
  959. teleporters for the player to get back into the action, but those remove the
  960. players' options, so aren't really recommended.  The relative sizes of the
  961. various monsters and the player will be discussed later, so you know how low
  962. and wide to make corridors and rooms and still enable everyone to be able to
  963. move around.  Again, theme plays an important part in deciding the dimensions
  964. of rooms and corridors.
  965.  
  966.       LIGHTING is the one thing that will give your level it's "feel". 
  967. Striking the right brightness level is also one of the more difficult things
  968. to do as a level-maker, as players have access to the Gamma Correction key
  969. (F11), the contrast and brightness controls on their monitors, and, of course,
  970. the IDBEHOLD-L cheat code.  The idea is to make the lighting fit the
  971. situation.  If the situation calls for darkness, so be it, but remember:
  972. everybody wants a fighting chance, and nobody likes stuff jumping them out of
  973. the dark.  Flickering, oscillating, and glowing lights are great "theme"
  974. lighting, too.  I recommend using these as much as possible, especially down
  975. stairs and in places where you want to lend a feeling of "instability".
  976.  
  977.       MONSTERS are the name of the game.  One of the major gripes I got in the
  978. survey I conducted for players' likes and dislikes was that too many WAD
  979. authors felt the need to throw in a Cyberdemon or three at every available
  980. opportunity.  Surprisingly, very few people enjoy battling a big boss in every
  981. level they play.  The idea is to balance the monster mix, make it consistent,
  982. and make it tough to beat.  My rule of thumb is that the level should be
  983. barely survivable when you begin with just a pistol on Hurt Me Plenty.  More
  984. than a few levels have found this magic difficulty level, and they're levels
  985. that I enjoy playing again and again, simply because I truly don't know if
  986. I'll be able to survive any given attempt!  You'll have to adjust the
  987. difficulty levels as well to make sure that "Too Young To Die" is not just
  988. "Hurt Me Plenty" minus one imp.  Remember: you're in control.  You decide how
  989. many monsters there are, what types there are, and, most importantly, WHERE
  990. THEY START.  An incredible amount of damage can be inflicted on a player with
  991. just 6 (yes, six) strategically-placed Imps.  Make the monsters accessible,
  992. too -- the player has to be able to see them and kill them.  Nothing is more
  993. irritating than being bombarded by shotgun-wielding sergeants from a ledge
  994. that is too high for the player to see.  Also, there are certain textures that
  995. "camouflage" some of the monsters perfectly.  The "vine" textures make the
  996. Imps nearly disappear, and the Spectres, being nearly invisible to begin with,
  997. are really difficult to see when the light level gets below 128, and the
  998. textures are complicated (lots of different colors and shapes; SP_ROCK1 is one
  999. example).  Be creative when placing monsters, too.  That way you won't have to
  1000. place as many of them, and the players will be in for a hell of a ride.  And
  1001. that's why we all play DOOM in the first place, isn't it?
  1002.  
  1003.       The placement and use of ITEMS is the most determining factor in how
  1004. easy or difficult your level is.  Sure, you've got Barons roaming all over the
  1005. place, but when there's a cumulative total of 4000% worth of health on the
  1006. level, how tough is it going to be?  One of the most difficult, challenging,
  1007. and entertaining levels I've ever played had a soul sphere and the blue armor
  1008. available right where you started, but had no more health or armor throughout
  1009. the level.  Great idea -- it was a race against attrition to get to the exit.
  1010. Wonderful.  Resist the temptation to put down too many stimpaks and medikits,
  1011. and I don't advise putting more than 2 soul spheres on any one level, unless
  1012. you discover that you really need to.  Same thing with armor.  Of course,
  1013. individual tastes may vary.  The same thing with ammo -- too much is not a
  1014. good thing.  Lack of ammo makes the player become more skillful, rather than
  1015. just holding the <Ctrl> button down while walking through the level.  Personal
  1016. choice dictates the placement and types of weapons available.  Personally, I
  1017. don't like to give the player anything bigger than a rocket launcher, and I
  1018. severely restrict the availability of the ammunition for _that_.  Using the
  1019. bigger weapons just removes the challenge of killing monsters, and by using
  1020. the smaller weapons, you can use fewer monsters for greater effect.  Avoid, at
  1021. all costs, making it too easy for the player to get weaponry and armor!  Too
  1022. many levels that I've played have had a backpack, enough ammo to fill it
  1023. completely, and all the weapons (including the chainsaw) right next to the
  1024. Player 1 start position.  Where's the challenge?
  1025.  
  1026.  
  1027. STYLE
  1028. ~~~~~
  1029.       After you've been working on your level for a while, you'll begin to
  1030. develop a style of your own.  Everyone does.  It's part of the creative
  1031. process, after all.  But since you haven't built a level yet, you really don't
  1032. have a "style" per se.  Here are the three main "types" of style I've
  1033. encountered so far when designing levels:
  1034.  
  1035.       THE PLANNER:  This individual, before even firing up the level builder
  1036. for the first time, will get all his notes together, grab a pad of graph paper
  1037. and a pencil, and draw the whole level out.  He will indicate all the ceiling
  1038. and floor heights, linedef lengths, items, monsters, and EVERYTHING, and then
  1039. simply transfer the notes from the paper to the monitor.  While this can be
  1040. time-consuming, the desired results are most often obtained, as there is no
  1041. "creative process" once the builder actually begins construction.
  1042.  
  1043.       THE MODIFIER: This one sketches ideas for his level as they come to him,
  1044. in rough terms, on any scrap of paper that's handy at the time.  He usually
  1045. has a theme to stick to, so will rough-draw a room and label it, knowing that
  1046. he'll remember what he meant later.  This one works on the level constantly,
  1047. modifying existing rooms as he gets new ideas, and creating new rooms based on
  1048. the numerous sketches lying about.  More often than not, he will change the
  1049. structure of an entire quarter of the level as inspiration strikes.  The
  1050. level, though, does somewhat resemble the notes, and these levels, while not
  1051. quite as structured (and usually, as linear) as The Planner's levels, do have
  1052. a certain logic to them that can be found.
  1053.  
  1054.       THE DISCOVERER:  This one sits down at the keyboard with a vague idea of
  1055. what he wants to do, turns on some music as "white noise", and just starts
  1056. building.  The level that comes out is often very non-linear.  (Very rarely do
  1057. Discoverers build linear levels; at least, on purpose.)  Ideas come and go,
  1058. and are as readily drawn and discarded.  This type of building style is not
  1059. recommended for the beginner, as a working knowledge of the level builder you
  1060. prefer is necessary to this free-style approach; however, if this is the way
  1061. you work, go to it.  The level, when completed, is often as much a surprise to
  1062. its creator as it is to the people who play it; nonetheless, the level of
  1063. craftsmanship is quite high.
  1064.  
  1065.       If you're none of these, or all of these, it doesn't matter.  As long as
  1066. you feel comfortable with the way you're working, that's what works for you.
  1067.  
  1068.  
  1069. ----------------------------------
  1070. [3-0]  Building The Level -- Basic
  1071. ----------------------------------
  1072.  
  1073.       Now, on with the show.  This is the section that will actually
  1074. demonstrate the technical part of building a level.  I will attempt to show
  1075. you how the basic features of Doom are built -- doors, windows, lifts,
  1076. secret doors, linedef special functions, and all that good stuff.  Whenever
  1077. possible, I will present a crude ASCII diagram to demonstrate a point, and to
  1078. show you (as closely as possible) what it means.  In addition, each structure
  1079. described and detailed in this section, as well as visuals of the most common
  1080. errors (that won't cause Doom to crash), will be described and demonstrated in
  1081. the included example levels.  Note that the .TXT file that goes with these
  1082. WADs will lay out what effect or feature is where on these test levels.  I
  1083. will also give you a list of the monsters and their various sizes (gleaned
  1084. from The Unofficial Doom Specs), so you know how high and wide to build 
  1085. corridors so the various monsters (and the player) can move through them -- 
  1086. see Appendix A for these dimensions.  Each sub-section of this Part will 
  1087. teach you a different structure in the DOOM universe.  Again, if I leave 
  1088. anything out, or you have discovered an easier, faster, or just plain better 
  1089. way to build a certain feature, please leave me e-mail so I can improve this 
  1090. manual.  Thanks!
  1091.  
  1092.  
  1093. ROOMS
  1094. ~~~~~
  1095.       These are the easiest things to design in any WAD.  All you have to do
  1096. is make a bunch of linedefs that surround an area, define it as a sector, make
  1097. the floor and ceiling heights, choose your lighting, and make sure the
  1098. textures are correct.  That's it.  An empty square room is the best kind of
  1099. room to make when you're building your first WAD.  Once you become more
  1100. familiar with the WAD-building process, your rooms will have any number of
  1101. sides, will be strangely-shaped, and will have lighting and sector effects. 
  1102. You may want to build a little while you're going through this Handbook, to
  1103. get a feel for how it works, and so you can get that horrible "first test WAD"
  1104. out of the way.  In any case, it's easier for you, as the prospective WAD
  1105. author, to actually _make_ the things I'm discussing while you're reading
  1106. this, as it's easier for you to see what I'm talking about when you're
  1107. actually _doing_ it.  And don't worry if it's not perfect; remember, your
  1108. first WAD is going to be your rough draft.  It's _supposed_ to be ugly.
  1109.  
  1110.  
  1111. HALLWAYS
  1112. ~~~~~~~~
  1113.       A hallway is simply a narrow room.  That's it.  If you've built a room
  1114. so far, go ahead and add another room onto it.  Start drawing from one of the
  1115. "walls" of the room, and build a narrow (but at least 64 wide) rectangular
  1116. room attached to it.  (Note that this will leave a linedef "across" the
  1117. connection of the hallway to the room.  Don't worry -- you won't be able to
  1118. see it when you're playing.  This "invisible linedef" is the basis for the
  1119. trigger linedefs we'll be talking about later.)  Define it as a sector; most
  1120. level editors will assign the same characteristics to this sector as they did
  1121. to the one it's attached to, except for the textures on the walls.  If you
  1122. want to change the wall textures, do it now.  Save it.  And that's it!  Now,
  1123. if you really want to, build the nodes and run it, and there you have it --
  1124. your first creation!  (Don't forget to put a Player 1 Start position in!) 
  1125. Hallways are good for making "junction rooms", which are hallways with
  1126. multiple exits into different rooms.  Making every room connected by only one
  1127. hallway is kind of boring, and doesn't allow the player many options.  If you
  1128. make 5 rooms off of one hallway, then the player gets to choose, and it's more
  1129. fun to play that way.  
  1130.  
  1131.       A NOTE ABOUT DIMENSIONS:  the player cannot go down a hallway that's
  1132. less than 34 wide.  Monsters and such have variable dimensions, and I'll
  1133. discuss those later, but for now, if you want to go down the corridor you've
  1134. just made, make it at least 34 wide.  (64 is good, as it's divisible by 8, and
  1135. more than big enough for most monsters.  Note how cramped 64 units wide is,
  1136. though...)
  1137.  
  1138.  
  1139. WINDOWS
  1140. ~~~~~~~
  1141.       This will be the first tough thing you've got to learn.  It's not that
  1142. difficult, really, but there's more to remember.  To make a window, say
  1143. between two rooms:
  1144.  
  1145. First, make the two rooms, and separate them with a sector that's 16 wide. 
  1146. See diagram below, which is a top view -- what you'll see on the screen as you
  1147. draw it:
  1148.  
  1149.              __________________________   _________________________ 
  1150.             |  sector 1                | |               sector 2  |
  1151.             |       adjacent linedef-> | | <-adjacent linedef      |
  1152.             |                          |_|                         |
  1153.             |                          | |                         |
  1154.             |         window linedef-> |3| <-window linedef        |
  1155.             |                          |_|                         |
  1156.             |                          | |                         |
  1157.             |       adjacent linedef-> | | <-adjacent linedef      |
  1158.             |__________________________| |_________________________|
  1159.  
  1160.  
  1161.       Okay, time for a little assistance.  The numbers (1-3) above refer to
  1162. the sectors involved that you have to define.  Note that the window sector
  1163. itself (number 3) is drawn and defined, along with the others.  Note also that
  1164. sectors 1 and 2 are connected _only_ by sector 3 -- there is no continuous
  1165. line on the top and the bottom.  Define sectors 1 and 2 with a floor height of
  1166. 0 and a ceiling of 128, do your lighting, fix the textures for all visible
  1167. surfaces, and save it.
  1168.  
  1169.       Define sector 3, but define it with a floor of 32 and a ceiling of 96.
  1170. What that means in regards to the window is that the bottom sill of the window
  1171. is 32 pixels above the floor, and the top of the window is 96 pixels above the
  1172. floor (or, conversely, 32 lower than the ceiling.)  Define the lighting as the
  1173. same as the two adjacent sectors (1 and 2).  Define the floor and ceiling
  1174. textures (which will be the top and bottom sills of the window) as FLAT20 for
  1175. now.  That's a light-grey grid, and it's not too bad for window trim.  Define
  1176. the north and south linedefs (the vertical ones on the sides of the window)
  1177. as, oh, COMPSPAN.  We're just trying to get a working window built.
  1178.  
  1179.       Now comes the tricky part.  Since the floor of the window sector is
  1180. above the floor of the adjacent sectors, and the ceiling of the window is
  1181. below the adjacent sectors, the way the textures are applied is a bit
  1182. different.  When you apply textures, the level maker you're using might have
  1183. given you a box (or boxes) that kind of looks like this (without the letters
  1184. and numbers inside it, of course):
  1185.  ______________ 
  1186. |              |
  1187. |         (A)  |<- This texture is applied "above the ceiling"
  1188. |______1_______|   (Also known as the "Upper" texture.)
  1189. |              |
  1190. |         (B)  |<- This texture is applied between the floor and ceiling
  1191. |______2_______|   (Also known as the "Normal" texture.)
  1192. |              |
  1193. |         (C)  |<- This texture is applied "below the floor"
  1194. |______________|   (Also known as the "Lower" texture.)
  1195.  
  1196. Some editors will let you apply textures using a template like the above;
  1197. others will use the Upper, Normal, and Lower labels.  What's important is that
  1198. you understand where each texture goes, and what your level editor calls the
  1199. positions, so you are able to apply them correctly.
  1200.  
  1201. To remember how this works, line 1 above is the ceiling level, and line 2 is
  1202. the floor level, so the texture you define in the (B) box is the texture that
  1203. your normal walls are.  After all, the walls begin at the floor and end at the
  1204. ceiling, so you want a texture applied between the floor and the ceiling,
  1205. right?  But on a window, the texture between the floor (the bottom sill) and
  1206. the ceiling (the top sill) has to be clear, and on both sides of the linedef
  1207. on both sides of the window.
  1208.  
  1209. ***
  1210. *** IMPORTANT NOTE:  ONLY A "SINGLE-PATCH" TEXTURE MAY BE APPLIED TO
  1211. AREA (B)
  1212. ***                  ON A WINDOW!
  1213.  
  1214. So, what do you do about the textures above and below the window?  Simple. 
  1215. Just make sure that the same texture for the rest of the linedefs in the room
  1216. matches the textures you will now put in boxes (A) and (C) for the linedef
  1217. over the window.  Don't forget about the adjacent linedefs; they'll have the
  1218. same texture as the rest of the room, too.  But it's not over yet...
  1219.  
  1220. Now, since the window linedef's top and bottom textures are not "normal", you
  1221. have to do something extra to them as well.  DOOM normally draws textures from
  1222. the top down and from left to right.  BUT, when it's dealing with textures
  1223. above and below the floor and ceiling of sectors (that are visible from
  1224. adjacent sectors), it draws the Box-A/Upper texture from the bottom up and it
  1225. draws the Box-C/Lower texture from the top down.  What this means is that the
  1226. bottom of the window will have the top-of-the-wall texture, and the top of the
  1227. window will have the bottom-of-the-wall texture by default.  They will not
  1228. "line up" with the adjacent textures (if the texture you choose has a pattern,
  1229. and most of them do), and it will look retarded.
  1230.  
  1231. To correct this, simply UNPEG the textures above and below the window by
  1232. selecting "Upper Unpegged" and "Lower Unpegged" from whatever Linedef Special
  1233. Selection Menu your level editor has.  This will tell DOOM to draw the
  1234. textures the "right" way, making the window look like it's supposed to.  As an
  1235. experiment, just so you can see what it looks like, don't unpeg the textures
  1236. at first, save the level, build the nodes, and run your level.  Examine the
  1237. adjacent textures, and examine the textures above and below the window.  Go
  1238. back to your level editor, unpeg both, save it, build the nodes, and run it
  1239. again.  Examine them now, and note the difference.  A tip you may want to
  1240. write down is ALWAYS REMEMBER TO UNPEG TEXTURES WHEN YOU MAKE
  1241. WINDOWS.  It
  1242. separates the novice from the expert level builder.  
  1243.  
  1244.       A NOTE ABOUT DIMENSIONS: the player is 56 high, and can climb 24-pixel
  1245. (maximum) height differences.  If you wanted the player to be able to climb
  1246. through this window, the highest you could make the "floor" would be 24
  1247. (because the adjacent floors are 0).  If you did make the "floor" of the
  1248. window 24, the minimum height of the "ceiling" of the window would be 80.  Try
  1249. making the floor of the window 16 instead of 32.  Save it, build the nodes,
  1250. run it, and climb through the window.  Neat, huh?
  1251.  
  1252.  
  1253. DOORS
  1254. ~~~~~
  1255.       Basically, a door is a sector with a floor and ceiling height that are
  1256. equal to the adjacent floor heights.  Most level builders allow you to define
  1257. a sector, like normal, and then select a "Make Door" switch.  For those who
  1258. don't have this feature, the procedure is:
  1259.  
  1260.       1.    Make a sector that's between 8 and 16 deep -- most doors in the
  1261.             WADs you've seen are this deep.  The width can be anything you
  1262.             like, but the door textures in Doom 1 are either 72 wide (for the
  1263.             narrow ones) or 128 wide (for the big ones).  Make your first door
  1264.             128, because it's easiest to work with.
  1265.  
  1266.       2.    Make sure the linedefs are pointed in the right directions.  See
  1267.             the following diagram; it shows what a basic door's linedefs are
  1268.             supposed to look like.  I know this may stifle your creativity,
  1269.             but if the door isn't created _exactly_ like this, DOOM won't
  1270.             recognize it as a door:
  1271.                               _____________|______________
  1272.                               |__                      __|
  1273.                               |__________________________|
  1274.                                            |              
  1275.  
  1276.             The "long" lines are the front and back of the door (the part the
  1277.             player "uses" to open it), and the linedefs MUST be defined as
  1278.             2-sided.  The "short" lines are the door jambs, and MUST be 1-
  1279.             sided.  The linedefs MUST point this way for the door to work!
  1280.  
  1281.       3.    Define the thing as a sector.  Make sure the linedefs are still
  1282.             pointing the right way, and that the two long ones are still
  1283.             double-sided.  IMPORTANT REQUIREMENT:  When defining the floor and
  1284.             the ceiling heights for the door sector, the number MUST BE THE
  1285.             SAME as the adjacent sectors' floors; i.e., if the floor height on
  1286.             the adjacent sectors is set to 0, both the floor AND the ceiling
  1287.             of the door sector must be 0.  Sounds weird, but it'll make sense
  1288.             in a minute.
  1289.  
  1290.       4.    Check your textures.  For this door, any of the BIGDOOR series
  1291.             should be sufficient.  For the doorjambs, Doom 1 offers two
  1292.             options:  DOORTRAK (which is the "standard"; looks like a chain-
  1293.             drive or something) and DOORSTOP (more of a smooth, techno look). 
  1294.             Personally, I and others prefer DOORSTOP for "normal" doors and
  1295.             DOORTRAK for huge doors, but it's up to you.  IMPORTANT NOTE: 
  1296.             Since you've defined both the floor AND the ceiling at the same
  1297.             height, and since that height is the same as the floor height in
  1298.             the adjacent sectors, that means the ENTIRE door texture that
  1299.             you'll be applying will be "above the ceiling", or an Upper
  1300.             texture.  Remember which box this is supposed to go in on the
  1301.             Texture Definition boxes?  If you don't, refer to the "Window"
  1302.             notes above.
  1303.  
  1304.       5.    Now for the fun part.  Go to where your level editor defines
  1305.             Linedef Specials, in whatever menu you have.  Highlight either of
  1306.             the long lines, and choose Special Number 1 -- this should be
  1307.             defined as a switch-activated (i.e., player "uses" it for it to be
  1308.             activated) opening door, which closes after 5 seconds.  Remember
  1309.             to define EACH long linedef with this Special; otherwise, the door
  1310.             won't be openable from one side or the other.  (Note that a one-
  1311.             way door might be desirable later on, and now you know how to make
  1312.             a door that only opens from one side...)
  1313.  
  1314.             What you're doing is assigning an "event" to the activation of the
  1315.             linedef that makes up the outside of the door, and the player
  1316.             activating the special opens the door.  Your level editor may have
  1317.             a different method of defining the linedef event than I've just
  1318.             outlined, but hopefully, from the descriptions, you'll have a
  1319.             general idea of what you're looking for in your editor, and can
  1320.             perform the assigning of a linedef to an event.  IMPORTANT NOTE:
  1321.             Write this procedure down for later reference!  Most of the
  1322.             interesting things that the player can do (and that you can have
  1323.             happen while the player is wandering around your brilliantly-
  1324.             created level) are linedef specials, and you're going to need to
  1325.             know how to assign linedefs to events later on.
  1326.  
  1327.       And that's all there is to designing a door.  Later, when you become
  1328. more proficient, you can experiment with different door sizes and shapes,
  1329. since you now know how  needs a door to look.  TEXTURE HINT:  X and Y
  1330. offsetting works on the door textures, too, so with a little practice, and
  1331. with a review of the different textures you have available, you can generate
  1332. some very interesting effects with a piece of scenery that most people take
  1333. for granted.  ALSO NOTE:  Most experienced WAD designers rarely assign the
  1334. "door stays open" special to a door; they want the player to have to turn his
  1335. back on the monsters if he decides to go back the way he came.  Again, only
  1336. practice will determine which style you prefer.
  1337.  
  1338. #     AN EXCEPTION TO A RULE ABOVE:  Door heights don't necessarily have to be
  1339. the same as the adjacent floor heights; after all, what if you wanted to build
  1340. a doorway in a stairwell?  The floor and ceiling heights of door sectors must
  1341. always match, but they don't have to match the adjacent floor heights.  Just
  1342. be sure and remember the player can't climb up more than a 24-unit difference,
  1343. and you'll be okay.  Texture note: if you _do_ make the bottom of the door
  1344. higher than the floor of any adjacent sector, you have to assign a texture to
  1345. the Lower part of the sidedef that it faces -- NOT the Normal.  Remember, the
  1346. Normal area is where the player goes through!
  1347.  
  1348.  
  1349. RECESSED DOORS
  1350. ~~~~~~~~~~~~~~
  1351.       One of the more common problems when an inexperienced level creator
  1352. makes a door is they'll have a wall 512 or so high, and the door flush with
  1353. the wall.  What DOOM will do is put the door textures stacked up to the
  1354. ceiling, which looks...well, retarded.  This is how to avoid that problem:
  1355.  
  1356.       Recess the door.  Make three sectors instead of one for the door, like
  1357. so:         ____________ ___ ___ ___ __________________
  1358.             hall        |   |   |   |         more hall
  1359.                         |   | D |   |
  1360.                         | + | O | + |
  1361.                         | + | O | + |
  1362.                         |   | R |   |
  1363.             ____________|___|___|___|__________________
  1364.  
  1365. Now, let's say the hallway is 192 high, but you only want the door to be 72
  1366. high, and you don't want the texture to climb to the ceiling.  Just make the
  1367. ceilings of the two ++ sectors 72 high.  Paste a texture on the Upper/"above
  1368. the ceiling" space, Unpeg Upper on it, and the wall will match the surrounding
  1369. walls.  Plus, now your door is in a little "niche", and the textures won't
  1370. look weird.  (Examples of recessed doors can be found in WALKTHRU.WAD.)
  1371.  
  1372.  
  1373. SECRET DOORS
  1374. ~~~~~~~~~~~~
  1375.  
  1376.       Now we come down to it:  "I know how to make a door now.  I want to make
  1377. a SECRET door!  How do I do it?"  It's a three-step procedure:
  1378.  
  1379.       1.  Make the door itself, and make it flush with the wall.  (Remember,
  1380.       in order to be a secret door, it's gotta look like the wall, not a
  1381.       door.)
  1382.  
  1383.       2.  Make the texture the same as the surrounding walls, and unpeg it. 
  1384.       This way, when the player finds the door, it'll "roll up" into the
  1385.       ceiling instead of "lifting" like a normal door.  NOTE:  It's considered
  1386.       sporting to offset the texture of the secret door at least a little, so
  1387.       an attentive player has a shot at finding it!  (Thanks to Tom Neff for
  1388.       this tip!)
  1389.  
  1390.       3.  Now, how to hide the line?  You'll have noticed that doors have
  1391.       their own color (yellow) line on the map screen, and since DOOM is
  1392.       treating this secret door like any other door, how do you make it look
  1393.       like a wall on the map?  On the Linedef Stats menu (wherever it is on
  1394.       your editor), you'll have a couple of choices you can use to disguise
  1395.       walls.  What they are, and what they look like and do, are:
  1396.  
  1397.             1.  Not On Map -- this linedef will not show up on the map unless
  1398.             the player uses the IDDT cheat.  The Computer Map will not show
  1399.             this line at all, even if the player "sees" it.
  1400.  
  1401.             2.  Secret -- this linedef will show up on the map if the player
  1402.             either sees it or uses a Computer Map, or, of course, the IDDT. 
  1403.             The beauty of the Secret stat is that all Secret lines, when
  1404.             viewed by the player and looked at on the map, look like regular
  1405.             old walls (a red line).
  1406.  
  1407.       So, if you want to make your secret door look like a wall to the player,
  1408.       select "Secret" on the Linedef menu.  Easy as that!
  1409.  
  1410.  
  1411. LIFTS
  1412. ~~~~~
  1413.  
  1414.       A lift, basically, is simply a sector that is able to descend to the
  1415. next adjacent lower floor level when a linedef is activated.  That's the whole
  1416. thing.  Now, since you've come this far, you should already know how to make a
  1417. door, and you should know how to correctly apply textures to linedefs.  If you
  1418. haven't, go back and review the "Windows" section and the "Doors" section,
  1419. because, to reference what you already know, a lift is a reverse door.  But
  1420. not exactly.  To make a lift:
  1421.  
  1422.  
  1423.       1.    As an example, we're going to create a lift that'll drop from one
  1424.             area to the adjacent area by simply pressing on the lift itself. 
  1425.             Later, you can get fancy by setting up switches and walkover
  1426.             linedefs to drop the lift.
  1427.  
  1428.       2.    First, create three sectors in a row.  (The floor and ceiling
  1429.             heights of each sector are labeled F## and C##, where the ## is
  1430.             the number to set the floor and ceiling at.)  It'll look something
  1431.             like this (it's easiest if you make this in a "blank" hallway):
  1432.  
  1433. TOP VIEW:
  1434.       ____________________________________________
  1435.       | sector 1      | sector 2 |  sector 3     |
  1436.       | hallway       |   lift   | more hallway  |
  1437.       | C 128         | C 128    |    C  128     |
  1438.       |_F___0_________|_F___0____|____F -128_____|
  1439.  
  1440. SIDE VIEW:
  1441.    128____________________________________________  128
  1442.       |                                          |
  1443.       |                                          |
  1444.     0 |_______________.__________.               |    0
  1445.                                  |   remember    |
  1446.                                  |<--this line   |
  1447.   -128 . . . . . . . . . . . . . |_______________| -128
  1448.  
  1449.       3.    Okay.  Now that you've got the sectors built and looking like
  1450.             this, we're gonna make the lift.  Tag the line that's marked with
  1451.             the <--, and link it to the lift sector.  Go to your "specials"
  1452.             menu and pick the lift type you like; for this exercise, choose
  1453.             the linedef special that is Switch Activated and Repeatable,
  1454.             however your editor does this.  And that's it!  Now remember,
  1455.             since the "floor" of the lift sector is at 0, and the floor of
  1456.             sector 3 is at -128, you're going to be able to see the texture
  1457.             "below the floor" of the lift; specifically, the "remember this
  1458.             line" line.  DON'T FORGET TO APPLY A TEXTURE TO THIS LINE!
  1459.             Otherwise, the first time you see it, it'll be a major HOM, and if
  1460.             you "activate" it, the ceiling of the entire level will probably
  1461.             lower itself to the floor.  A neat effect, but you won't be able
  1462.             to move...
  1463.  
  1464.          #  Other notes about lifts:  Single-patch textures work best for the
  1465.          #  sides of the lift that you'll be able to see when it's "down". 
  1466.          #  Check out any lifts in your DOOM.WAD or DOOM2.WAD for examples of
  1467.          #  good textures to use.  You might also want to check out how
  1468.          #  they're built at this time, and then duplicate what you've found
  1469.          #  to see how it really works.  Lifts are deceptively difficult to
  1470.          #  properly create...
  1471.  
  1472.       4.    A NOTE ABOUT DIMENSIONS: The lift in this example is kind of tall,
  1473.             (elevation-wise), but it's just a demo for you to get used to how
  1474.             a lift is built.  Usually, "quick" lifts are between 64 and 96 in
  1475.             height; slow, "descending to the depths of the earth" lifts can be
  1476.             any height; 512 is good, because if you're on the lift for too
  1477.             long, it gets borrrring.  Also, if you've got a deep lift at the
  1478.             end of a hallway, a nice effect is to have differing levels of
  1479.             tunnels "branching off" the main lift.  All you have to do is
  1480.             define the heights of the floors and ceilings of these branching
  1481.             tunnels to anything BETWEEN the original ceiling height and the
  1482.             floor height of the adjacent sector.  If done right, it's a neat
  1483.             effect -- it makes getting into these sections of your level a
  1484.             timed event.  A crude example follows:
  1485.  
  1486.  
  1487.                                 ____________
  1488.                                 |  C -64   |
  1489.                         Hall -->|  F -128  |
  1490.       __________________________|__________|__________
  1491.       |                         |   Lift   |  C -128 |
  1492.       |  Hallway  C 128  F 0    |C128  F0  |  F -256 | <-- Hall
  1493.       |_________________________|__________|_________|
  1494.                                 |  C -256  |
  1495.                         Hall -->|  F -320  |
  1496.                                 |__________|
  1497.  
  1498.             Now, all of those hallways that branch off the lift are 64 high,
  1499.             and the lift will go all the way to the "bottom" at -320.  During
  1500.             its descent, though, it'll pass the top-most hallway first, then
  1501.             the hallway on the right, ending up at the hallway on the bottom. 
  1502.             You can make even more branchings if you were to make the lift
  1503.             hexagonal (6 sides) or octagonal (8 sides).  Or you could just go
  1504.             completely berserk and make the lift huge and dodecahedronal (12-
  1505.             sided), with 11 branches... A bit excessive, but possible.
  1506.  
  1507.       5.    A NOTE ABOUT TEXTURES:  SUPPORT2 and SUPPORT3 are the standard
  1508. for
  1509.             side-of-the-lift textures, but, hey -- it's YOUR level. 
  1510.             Experiment.  Some of the "side of the door" textures look pretty
  1511.             cool, as does COMPBLUE.
  1512.  
  1513.  
  1514. STAIRS
  1515. ~~~~~~
  1516.       Stairs are the other most common way to have the player change
  1517. elevation, and they're so simple to make; time-consuming, though, unless your
  1518. editor has an automatic-stair feature.  Since not all of them do, here's the
  1519. laborious way:
  1520.  
  1521.       1.  Define a series of sectors all in a row, and make them door-sized. 
  1522.       We'll start off with a straight staircase.  See below:
  1523.             ______ _____ _____ _____ _____ _____ _____ _________
  1524.             hall  |     |     |     |     |     |     |more hall
  1525.             0     | 16  | 32  | 48  | 64  | 80  | 96  |   112
  1526.             ______|_____|_____|_____|_____|_____|_____|_________
  1527.  
  1528.       The numbers in the sectors are the floor heights; for the ceiling, use
  1529.       192.  Note how the floor "rises" as you go up the stairs, and also note
  1530.       how rapidly the elevation changes.
  1531.  
  1532.       2.  Now that you've got your rising sectors, DON'T FORGET to apply the
  1533.       proper textures to the risers of the stairs!  Since the risers are
  1534.       "below the floor" of the higher sector, the texture will go in the Lower
  1535.       section (Box-C).  (If you have the ceilings rise with the stairway,
  1536.       you'll also have to put a texture on the Upper/"above the ceiling"
  1537.       slot.)
  1538.  
  1539.       3.  And finally, remember that the player is 56 high.  What this means
  1540.       is that the ceiling of the lower sector must be 56 higher than the floor
  1541.       of the higher sector, or you won't be able to get up the stairs!  Once
  1542.       you get better at designing stairs, you can have them spiral, go around
  1543.       corners, or have the stairs themselves be odd shapes.
  1544.  
  1545.       4.  An example of a basic stairway is in WALKTHRU.WAD.
  1546.  
  1547. #  More notes:  If the ceiling of your stairwell is constant up or down the
  1548. stairway, use Unpeg Upper to get the textures to line up properly.  If your
  1549. stairway can be seen from the side, try Unpeg Lower on the sides of the
  1550. stairway.  Remember, Unpeg Upper causes DOOM to draw from the top down, and
  1551. Unpeg Lower draws from the bottom up!
  1552.  
  1553.  
  1554. TELEPORTERS
  1555. ~~~~~~~~~~~
  1556.       Using teleporters is one of the most popular ways for level designers to
  1557. move the player around to various parts of the level.  Their creation and use
  1558. is one of the easier things to explain (whew!).  In order to create a
  1559. teleporter, you have to do the following:
  1560.  
  1561.       1.  Designate a linedef as a "teleporter".  The most popular way to
  1562.       indicate to the player that a linedef will teleport them is to create
  1563.       either a spot on the floor, or an elevated platform, with a teleporter
  1564.       texture on it (the GATE series).  All of the teleporter squares are
  1565.       exactly 64x64 units in size, and must be lined up with the Grid to be
  1566.       properly aligned.  (See the example WADs to see what this looks like.)
  1567.  
  1568.       2.  Now that you've got your teleporter square made, you have to define
  1569.       the teleport function.  The linedef special "teleport to location" must
  1570.       be defined on AT LEAST one (if not all) of the linedefs of your
  1571.       teleporter.  NOTE that the teleport sector itself does not have to be
  1572.       defined in any special way -- only the linedefs that make up the
  1573.       teleporter.
  1574.  
  1575.       3.  Define where the player is going.  This is the tricky part.  On your
  1576.       Things listing, you'll have a Thing that says "teleport destination". 
  1577.       Place this Thing in the SECTOR that you want the player to arrive in. 
  1578.       Also, remember that the facing of this Thing will be the way the PLAYER
  1579.       faces when he arrives.  (If you've got a ton of monsters that are in
  1580.       this room, it's kinda fun to have the player arrive with his back to
  1581.       them... But you didn't get that idea from _me_...)  NOTE that you can
  1582.       only put ONE destination Thing in any given sector!  (Actually, you can
  1583.       put as many as you want, but DOOM will only use and recognize the first
  1584.       one.)  Also note that the destination Thing does NOT have to be on top
  1585.       of a teleport square texture or anything like that, unless you want it
  1586.       to be.
  1587.  
  1588.       4.  Now that you've got your teleporter linedef chosen, and you've got
  1589.       your destination sector chosen and your teleport Thing placed, all you
  1590.       have to do is tag the sector to the linedef, using your Linedef Special
  1591.       menu.  Select the "teleport to location" function, and that's it.  Now
  1592.       when the player crosses the tagged linedef, he will be teleported to the
  1593.       sector you've indicated, to the Thing you've placed, and facing the
  1594.       direction the Thing is pointed.
  1595.  
  1596.  
  1597.       5.  A couple of things:  One linedef can be tagged to only one sector
  1598.       and Thing combination.  DOOM does not "randomize" multiple teleport
  1599.       destinations defined on a single linedef.  However, multiple linedefs
  1600.       _can_ be defined to teleport the player to the same location.  If you
  1601.       want to have a "randomizing" function, the best way to do this is have
  1602.       each side of a teleport square (4 separate linedefs) teleport the player
  1603.       to one of four locations, depending on which way he enters that
  1604.       particular sector.  Also, you don't necessarily HAVE to have a teleport
  1605.       square texture defined to have a teleporter; you can use any linedef you
  1606.       want to teleport a player.
  1607.  
  1608.  
  1609. LINKING LINEDEFS TO REMOTE EVENTS
  1610. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1611.       This function helps you, as the level editor, to surprise the crap out
  1612. of the unfortunate soul who has the misfortune to tangle with YOUR level. :)
  1613. Simply put, linedef tags don't necessarily have to affect structures in the
  1614. immediate area of the linedef itself -- you can have linedefs that raise or
  1615. lower lifts and floors and doors and other nice things from a distance.  A
  1616. common application of this is to have an invisible linedef operate a door that
  1617. lets monsters loose in remote areas of your level, so when the player goes
  1618. "back through" a cleared area, there are more monsters wandering around.  It's
  1619. also good for ambushes...
  1620.  
  1621.       1.  Define your invisible linedef.  If you're going to put it in a
  1622.       hallway or something like that, remember that you have to define the
  1623.       sector on BOTH sides of this linedef, even though you can't see it. 
  1624.       Also remember to properly offset your textures on the walls on both
  1625.       sides of this linedef, so the player won't be able to tell that
  1626.       something's going on from the broken pattern on the walls.
  1627.  
  1628.       2.  Tag it to whatever door or lift or whatever that you want.  A good
  1629.       use of this is to define a "secret" door that can only be opened by
  1630.       crossing this linedef.  If your editor has a "make door" feature, and
  1631.       you've used it to define this door, don't forget to remove the linedef
  1632.       tags on the door itself so the player can't open it by "using" it!
  1633.  
  1634.       3.  And that's all there is to it.  Basically, what you're doing is
  1635.       removing the activating linedef from the area of whatever it's
  1636.       affecting.  A teleporter is an example of a remote linedef.  See E1M1
  1637.       for a remote linedef activation, too -- there's a linedef in the room
  1638.       right before the exit room that lowers the platform that the Imps were
  1639.       on in the "poison" room.  That's a remote linedef.
  1640.  
  1641.       4.  Note that you _can_ tag multiple sectors to a linedef for activation
  1642.       -- for instance, you can have a single linedef raise as many doors as
  1643.       you like at once.  IMPORTANT NOTE:  if you do have a multiple-activation
  1644.       linedef trigger, all of the sectors affected MUST be identical in floor
  1645.       and ceiling heights if you're having doors or floors go up or down. 
  1646.       This is because DOOM's tags tell the sectors "raise to highest adjacent
  1647.       sector" or something like that, and DOOM will take the lowest common
  1648.       sector when determining "adjacent".  This means that some doors may not
  1649.       go up all the way, or other nice things like that.
  1650.  
  1651.  
  1652. OUTDOOR AREAS
  1653. ~~~~~~~~~~~~~
  1654.       Making an outdoor area is identical to making indoor areas, with one
  1655. exception:  The ceiling of ALL outdoor sectors must be F_SKY1, unless you want
  1656. to have stuff hanging in mid-air.  Outside buildings can have the normal
  1657. ceiling textures when you're inside them.  That's really all there is to it.
  1658.  
  1659.  
  1660. -------------------------------------------------------------
  1661. [4-0]  Building The Level -- Intermediate -- Tips And Effects
  1662. -------------------------------------------------------------
  1663.  
  1664.       Since this Handbook was intended as a "primer", and since I myself have
  1665. only built one level, the "Intermediate" section will, in future, be ideas or
  1666. demonstrations that you can try out to experiment with different effects. 
  1667. Possibly, in future releases, this section may contain some useful tips. 
  1668. Sometimes it's helpful to know what kinds of things _can_ be done with this
  1669. system, so you'll get the "feel" for dinking around with your level editor's
  1670. commands.  
  1671.       There are many, many effects you can use, especially if you combine one
  1672. or more of the effects outlined and described in this Handbook.  Again, this
  1673. section is for future expansion, so send in those tips with ASCII drawings, or
  1674. send in an actual level with your new technique demonstrated, so I can
  1675. describe it and put it in the next release.  Good luck on designing your
  1676. level, and good DOOMing!
  1677.  
  1678.  
  1679. ----------------
  1680. [5-0]  Checklist
  1681. ----------------
  1682.  
  1683.       This is included for the absolute novice who has no idea where to start,
  1684. and may be a handy reference guide.  Or maybe not; only you can decide what
  1685. works best for you.
  1686.  
  1687.       [ ]   I have gotten a level editor that I am comfortable with.
  1688.       [ ]   I have read this Handbook and understand the basic concepts.
  1689.       [ ]   I have played around with building the basic things.
  1690.       [ ]   I have built and played my first level, and it sucks.
  1691.  
  1692.       [ ]   I have a theme for my first releasable level.
  1693.  
  1694.       [ ]   Build an enclosed area of connected linedefs.
  1695.       [ ]   Check the linedefs of the area to make sure they all point in.
  1696.       [ ]   Define the area (stair, room, door, etc.) as a sector.
  1697.       [ ]   Apply the textures to the walls, floor, ceiling, and all other
  1698.             visible surfaces.
  1699.       [ ]   Adjust the lighting.
  1700.       [ ]   Define any special linedefs, and tag them to the appropriate
  1701.             sector, if necessary.
  1702.       [ ]   Define any special sector events in this sector, if necessary.
  1703.       [ ]   Add any Things you would like in this sector, if you prefer.
  1704.       [ ]   Save the level as E1M1 (makes for easier testing).
  1705.       [ ]   Exit the level-editor (if it's necessary to do this to build the
  1706.             nodes).
  1707.       [ ]   Build the nodes with the node-builder.
  1708.       [ ]   Exit the level-editor (if you haven't already).
  1709.       [ ]   Get your notepad ready.
  1710.       [ ]   Run  with this command line:
  1711.  
  1712.                   doom -file mywad.wad -warp 1 1 -nomonsters
  1713.  
  1714.             (The -nomonsters switch is nice if you've added Things before you
  1715.             got done with the level and don't want to fight your way through
  1716.             every monster on the level every time you test it.)
  1717.  
  1718.       [ ]   Go through the ENTIRE level, even if you've done so before.  (Yes,
  1719.             you _will_ grow sick of doing this, but you'll find errors much
  1720.             easier if you look at the whole thing every time.)
  1721.       [ ]   Take notes on all the things that need fixing or could be
  1722.             improved.
  1723.       [ ]   Exit .
  1724.       [ ]   Go back to your level-builder.
  1725.       [ ]   Fix everything (and I mean EVERYTHING) on your list before you
  1726.             build anything new.
  1727.       [ ]   Go up to "build an enclosed area" and begin the cycle again.
  1728.  
  1729.       After a while, when your proficiency increases, you'll be able to get
  1730. away with building multiple sectors before testing... BUT YOU SHOULD SAVE THE
  1731. WAD EVERY SINGLE TIME YOU MAKE A CHANGE!  This will save you much trouble
  1732. later on...
  1733.  
  1734.  
  1735. -------------------
  1736. [6-0]  Finishing Up
  1737. -------------------
  1738.  
  1739.       Now your masterpiece is complete.  You've had some really good friends
  1740. beta-test it for you (and test it and test it and test it... There is NO SUCH
  1741. THING as "too much beta-testing"), and they like what they see (after they've
  1742. made a bunch of suggestions, of course...), and none of you can find any flaws
  1743. in the final production.  Now it's time to finish up.
  1744.  
  1745.       If your WAD has a theme, and some kind of story behind it, write a
  1746. little piece explaining the introduction, if any.  This is kind of fun (though
  1747. most players don't read it, it's entertaining), and will provide anyone
  1748. interested with a little background on your level.  I usually save any stories
  1749. I include with the level as BACKGRND.TXT, just so players will know what it
  1750. is.
  1751.  
  1752.       Hank Leukart has established a WAD Authors' Template, for level authors
  1753. to include with the level, and it's pretty much become a standard.  It's
  1754. included here (with permission from the author; thanks, Hank!):
  1755.  
  1756. WAD Authoring Template V1.4   (Clip this line)
  1757. =======================================
  1758. =========================
  1759. Title                   : The title of your WAD.
  1760. Filename                : <filename>.WAD
  1761. Author                  : Your name here
  1762. Email Address           : 
  1763. Misc. Author Info       : 
  1764. Description             : Set the mood here, or refer to a .TXT file.
  1765. Additional Credits to   : Your beta-testers and anyone who's helped.
  1766. =======================================
  1767. =========================
  1768. * Play Information *
  1769.  
  1770. Episode and Level #     : ExMx (,ExMx,...)
  1771. Single Player           : Yes/No
  1772. Cooperative 2-4 Player  : Yes/No
  1773. Deathmatch 2-4 Player   : Yes/No
  1774. Difficulty Settings     : Yes/Not implemented
  1775. New Sounds              : Yes/No
  1776. New Graphics            : Yes/No
  1777. New Music               : Yes/No
  1778. Demos Replaced          : None/1/2/3/All
  1779.  
  1780. * Construction *
  1781.  
  1782. Base                    : New level from scratch/Modified ExMx/xxx.WAD
  1783. Build time              : So people will know how much of your life you
  1784.                           spent on this thing.  :)
  1785. Editor(s) used          : Everything you used.
  1786. Known Bugs              : Any glitches or weird stuff you can't fix.
  1787.  
  1788. * Copyright / Permissions *
  1789.  
  1790. Authors (MAY/may NOT) use this level as a base to build additional
  1791. levels.  
  1792.  
  1793. (One of the following three:)
  1794.  
  1795. You MAY distribute this WAD, provided you include this file, with
  1796. no modifications.  You may distribute this file in any electronic
  1797. format (BBS, Diskette, CD, etc) as long as you include this file 
  1798. intact.
  1799.  
  1800. You MAY not distribute this WAD file in any format.
  1801.  
  1802. You may do whatever you want with this file.
  1803.  
  1804. * Where to get this WAD *
  1805. FTP sites:
  1806. BBS numbers:
  1807. Other:  Notes, thanks, acknowledgements, whatever.
  1808. =======================================
  1809. ==============================
  1810. (Cut this line)
  1811.  
  1812.       A blank template for you to use is included in this archive, and the
  1813. file name is WAD_AUTH.TXT.  After you get done with all that, just .ZIP or
  1814. .ARJ the thing, and start uploading it to your favorite BBSs!
  1815.  
  1816.  
  1817. ----------------------------------------
  1818. APPENDIX A:  Sizes Of The Various Things
  1819. ----------------------------------------
  1820.  
  1821.       This section is included so you will know how big a hallway, door, or
  1822. room has to be for the various monsters to be able to move around in them.  It
  1823. also has the radius of the monster, so you will know how far apart they'll
  1824. have to be to be able to move.  NOTE:  You can get a real interesting effect
  1825. by placing one monster on top of another -- neither will be able to move or
  1826. fire until one of them is dead.  This also happens if they're too close
  1827. together, so be careful where you place them!  (Credit for this section goes
  1828. entirely to Matt Fell, author of The Unofficial DOOM Specs, release 1.3.)
  1829.  
  1830. Radius*2 = width of monster. (Note: the radius of the player + the radius of a
  1831. "gettable" object is how far the player can be from that object to pick it up.
  1832. This is irrespective of intervening walls; i.e., if an object is too close to
  1833. a wall, the player may be able to pick it up THROUGH an adjacent wall...)
  1834.  
  1835. Height = how much ceiling space they'll need to move.  (Note the height of
  1836. monsters is infinite, if you're trying to move over them.)
  1837.  
  1838. Minimum width = how wide a corridor or room will have to be for the Thing to
  1839. be able to move through it.
  1840.  
  1841. Thing             Radius      Height      Minimum width
  1842. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1843. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1844. Player              16          56              34  *This is why the player
  1845. Former human        20          56              42   can fit through doorways
  1846. Former sergeant     20          56              42   the other humans can't.
  1847. Imp                 20          56              42
  1848. Demon/Spectre       30          56              62
  1849. Cacodemon           31          56              64
  1850. Lost soul           16          56              34
  1851. Baron of Hell       24          64              50
  1852. Cyberdemon          40         110 (!)          82
  1853. Spiderdemon        128 (!)     100             258
  1854. Barrel              10          42             n/a   *They can't move...
  1855. All gettable Things 20          16              42   *So they don't overlap
  1856. Most obstacles      16          16             n/a
  1857. Large brown tree    32          16             n/a
  1858. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1859. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1860.  
  1861. Also, when placing monsters next to one another, if they are too close
  1862. together, they will not be able to move.  The minimum distance a monster must
  1863. be from an adjacent monster is one-half of the first monster's radius plus one
  1864. PLUS one-half of the second monster's radius PLUS ONE.  For instance, if
  1865. you've got two imps side by side, they must be, at a minimum, 22 apart, which
  1866. translates into:  ((.5*10)+1) + ((.5*10)+1).  If an imp is next to a demon or
  1867. spectre, the distance increases to 27: ((.5*10)+1) + ((.5*30)+1).  If you had
  1868. a Baron of Hell next to a Cyberdemon (which is really overkill, but it's an
  1869. example), the minimum distance would be 34 ((.5*24)+1) + ((.5*40)+1).  It's
  1870. really easy to figure once you actually start doing it.
  1871.  
  1872.  
  1873. ---------------------------------------------
  1874. APPENDIX B:  The 11 Most Common Design Errors
  1875. ---------------------------------------------
  1876.  
  1877. (Note: This next section is borrowed from DESIGN11.FAQ, and is used with
  1878. permission from the author.  The FAQ itself is recommended as well, as it
  1879. explains how to identify and correct the more frequent design errors.)
  1880.  
  1881. Some of these are show-stoppers (DOOM will crash if you try to run the level),
  1882. others will let you run DOOM but game play is screwed up, others are just
  1883. ugly, and a few are common stylistic complaints.  All are encountered often in
  1884. user-written levels, or asked about in discussion forums, or both.  There is
  1885. no particular order.
  1886.  
  1887.  
  1888.       [B-1]  Bad Wall Effects.  
  1889.  
  1890.       These include:
  1891.  
  1892.             HOMs -- Caused by missing wall textures.  See Glossary for a
  1893.             definition of this, and the body of this Handbook for solutions.
  1894.  
  1895.             The Medusa Effect -- The look of this effect varies, depending on
  1896.             which texture you used, but the result is always the same:  When
  1897.             this part of the wall is in view, the DOOM engine slows WAAAAYYY
  1898.             down.  This happens because you used a multi-patch texture on the
  1899.             Normal area (the middle box) of a wall that you are able to walk
  1900.             through.  A fuller explanation of patches and textures can be
  1901.             found in the Unofficial Specs, but briefly:  Each texture (like
  1902.             STARTAN3) is built from one or more graphic "patches" and, for
  1903.             some reason, DOOM's engine can only draw SINGLE-patch textures on
  1904.             passable walls; examples of single-patch textures are BROWNGRN,
  1905.             SKINTEK2, and ASHWALL.  Examples of multi-patch textures that
  1906.             wouldn't work are STARTAN3, COMPBLUE, and WOODSKUL.  A complete
  1907.             list (TEXPATCH) of textures and the patches that make them up is
  1908.             available on major DOOM archive sites.
  1909.  
  1910.             The Tutti-Frutti Effect (also known as "Confetti") -- This effect
  1911.             looks like strangely-colored dots and lines on some of your walls,
  1912.             usually between sections of textures.  (CRATINY is a texture that
  1913.             will produce this effect, if you want to see what it looks like.) 
  1914.             This can happen for one of two reasons:
  1915.  
  1916.                   1.  You used a short texture (less than 128 high) on a wall
  1917.                   that's over 128 high.  This happens because textures are
  1918.                   only _vertically_ tiled on 128-pixel boundaries.  If your
  1919.                   wall is taller than your texture, and the texture is less
  1920.                   than 128 high,  fills in the extra pixels with quasi-
  1921.                   random garbage, hence the colored Tutti-Frutti or Confetti. 
  1922.                   You often see this effect when designers put "STEPx" on 20-
  1923.                   24 high steps.
  1924.  
  1925.                   2.  You used a "transparent" texture (like MIDGRATE) on an
  1926.                   Upper or Lower surface (top and/or bottom box) instead of on
  1927.                   the Normal (middle box) surface.  The upper/lower holes
  1928.                   Tutti-Frutti effect happens because Upper and Lower surfaces
  1929.                   actually have _nothing_ behind them.  DOOM has nothing to
  1930.                   show through these holes; hence, random garbage.
  1931.  
  1932.             The Long-Wall Error -- This effect causes bullets to hit an
  1933.             invisible wall somewhere in a room (but the line doesn't show on
  1934.             any map), or the walls sort of "jump" or slide around.  This is
  1935.             caused by having a HUGE (thousands of units long) wall somewhere
  1936.             in your level.  DOOM's engine has fits trying to compute and
  1937.             display the wall's position relative to the player, creating the
  1938.             Long-Wall error.  The blocked shots are from the "real" wall right
  1939.             in front of you.  The solution is simple: break up long lines.  As
  1940.             a general rule, keep them under 1,024.  Also, if you choose wall
  1941.             segment lengths of 768 or 512 (remember those multiples of 8?),
  1942.             you will never have a problem with X or Y offsets in the texture
  1943.             tiling.
  1944.  
  1945.             The Moire Error -- Also known as the "Flash of Black" error.  This
  1946.             effect causes the whole screen (or just parts of it) to flash,
  1947.             either in random hash or sometimes in a pattern.  This is another
  1948.             DOOM bug/limit, triggered by getting close to a wall in a very
  1949.             tall room.  The effect first kicks in at about 559 units high, and
  1950.             gets worse (you see it farther from the wall, and stay in it
  1951.             longer) as the room gets taller.  (The "pattern" you see is
  1952.             actually your old room's ceiling texture, repeated forever at a
  1953.             great distance above and below you, as though you were floating in
  1954.             some vast star-gate.)  If you don't really NEED the tall room, get
  1955.             it below 559 high.  Note:  this error is supposedly fixed in
  1956.             versions 1.4 and later.
  1957.  
  1958.  
  1959.       [B-2]  Wall Pegging.
  1960.  
  1961.       Wall faces exposed by rising or lowering ceilings or floors (including
  1962.       door side tracks) usually have the Unpeg Lower/Unpeg Upper bits set in
  1963.       their linedef.  This keeps the side textures from "following" the
  1964.       adjacent rising/lowering sector.  Many, many user level designers forget
  1965.       to unpeg their door tracks.  Just cosmetic, but contributes to the sense
  1966.       of realism -- or lack thereof.
  1967.  
  1968.  
  1969.       [B-3]  Lines Or Vertexes That Cross Or Coincide.
  1970.  
  1971.       A show-stopper.  If two or more vertexes occupy the same position, or if
  1972.       two or more lines cross or lie "on top of" one another,DOOM 's engine
  1973.       will crash trying to work out the sector math.  Several editors are
  1974.       capable of checking for this; if you get crashes often, use one.
  1975.  
  1976.  
  1977.       [B-4]  Slowdown From Monster/2-Sided Linedef Glut.
  1978.  
  1979.       Not a crash, but a playability issue.  Designers should try their levels
  1980.       on less powerful PCs and/or at full-screen resolution to see whether
  1981.       some rooms are unacceptably slow.  (A reject-table builder will tend to
  1982.       alleviate some of this problem, but if you've got more than, say, 64
  1983.       monsters active at once, this will become an issue on slower PCs.)
  1984.  
  1985.  
  1986.       [B-5]  Unaligned Textures, Both X And Y.
  1987.  
  1988.       Just cosmetic, but important for realism.  If your X textures are
  1989.       properly aligned and you split a line or drag vertexes around, you will
  1990.       probably need to re-align them.  A tedious job, to be sure, but some
  1991.       editors help automate it for you.  NOTE:  It's considered polite to
  1992.       offset secret door textures a little bit -- say, 2 pixels -- just enough
  1993.       so that an attentive player might notice it.
  1994.  
  1995.  
  1996.       [B-6]  Missing Player Starts, Insufficient Sectors.
  1997.  
  1998.       Another show-stopper.  Every level MUST HAVE a minimum of two (2)
  1999.       sectors.  It must also have a Player 1 Start (if you are going to play
  2000.       non-deathmatch), Players 2-4 Start (if you will be playing Co-Op), and
  2001.       four (4) Deathmatch starts if you will be playing deathmatch.  Otherwise
  2002.       (surprise!) DOOM will crash.
  2003.  
  2004.  
  2005.       [B-7]  Floor/Ceiling Mismatch.
  2006.  
  2007.       Usually caused by raising or lowering a floor but forgetting the
  2008.       associated ceiling, or vice versa.  Sometimes caused by accidentally
  2009.       "including" an unintended sector in a floor/ceiling change, under
  2010.       editors that support multi-sector "gang" operations.  Unless the ceiling
  2011.       is AT LEAST 56 higher than the floor, you either can't enter or (if
  2012.       you're already there, via teleport, floor/ceiling movement, or start of
  2013.       play) you will be stuck.  This is sometimes an issue on stairways; the
  2014.       LOWER ceiling must be at least 56 higher than the HIGHER floor, or you
  2015.       won't be able to go up or down the stairs.
  2016.  
  2017.  
  2018.       [B-8]  Missing/Wrong Tag Numbers.
  2019.  
  2020.       When tagged operations like Lights Out or Raise Floor get the tag number
  2021.       wrong (in the activating linedef), the results are usually awful.  The
  2022.       whole level rises or crushes or something else you don't want.  This can
  2023.       be tough to spot at first in gameplay.  Ideally, editors should check
  2024.       for this.  Some editors don't assign Tag numbers, as well; they simply
  2025.       link the linedef(s) to the sector(s) indicated.
  2026.  
  2027.  
  2028.       [B-9]  Monsters Too Close To Each Other Or Walls.
  2029.  
  2030.       See Appendix A for the sizes of the various monsters, and the distances
  2031.       they have to be from each other and walls to be able to move and shoot.
  2032.  
  2033.  
  2034.       [B-10]  Dead Ends.
  2035.  
  2036.       Designers sometimes leave out an EXIT switch, which makes it hard to
  2037.       play a level in Deathmatch or as part of a larger, multi-level episode. 
  2038.       Also, perhaps this is a stylistic argument, but at least be AWARE of
  2039.       which places (if any) have "no escape" for the unwary user who enters. 
  2040.       Id's original levels do have a couple of these, but most users
  2041.       (actually, nearly ALL users) don't like them.
  2042.  
  2043.  
  2044.       [B-11]  Too Many Things.
  2045.  
  2046.       Not really an error, but something you should be aware of, if you're one
  2047.       of those people that likes huge amounts of monsters moving around...
  2048.       DOOM will only display 64 Things at once, so if you've got more than
  2049.       that visible at any one time, some monsters and items will appear to
  2050.       "flicker" in and out of existence.  This can be extremely annoying to
  2051.       the player, especially when he sees fireballs coming out of "nowhere".
  2052.  
  2053.  
  2054. -----------------------------
  2055. APPENDIX C:  The Walk-Through
  2056. -----------------------------
  2057.  
  2058.       Included in this archive are three files you may find useful: 
  2059. WALKTHRU.WAD and WALKTHRU.TXT.  (WLKTHRU2.WAD is the DOOM II version
  2060. of
  2061. WALKTHRU.WAD.)  WALKTHRU.TXT is simply a description and labeling of the
  2062. various effects and errors, and where you'll find them, in WALKTHRU.WAD. 
  2063. It also has a demonstration of various lighting effects and texture centering.
  2064. Print out WALKTHRU.TXT and go through WALKTHRU.WAD while playing DOOM. 
  2065. That
  2066. way, you'll be able to actually SEE what we've been talking about in this
  2067. Handbook, and you'll be able to mess around with the various effects without
  2068. worrying about whether you're screwing up YOUR level... You might even want to
  2069. experiment with adding Things (monsters, weapons, etc.) to this level to get
  2070. the "feel" of it.  You can do whatever you want with this level, too -- if you
  2071. want to build on it and improve it, go ahead.  Heck, you can even take all the
  2072. credit for it if you want!  It's a play level for you, the novice WAD author,
  2073. and it's yours with my compliments.  Of course, I _do_ expect you to upload
  2074. any levels you build... :)
  2075.  
  2076.  
  2077. -------------------------------------------
  2078. APPENDIX D:  What Those Error Messages Mean
  2079. -------------------------------------------
  2080.  
  2081.       Following are some error messages that DOOM will give you when it kicks
  2082. you to DOS, or fails to load.  I only know a couple of them from my exper-
  2083. ience, so if you have any that you've gotten that I haven't, and know how to
  2084. fix them, e-mail me with them so I can add them to the Handbook.  Thanks!
  2085.  
  2086. Message:    Z_CheckHeap: block size does not touch the next block
  2087.  
  2088. Reason:     DOOM is giving you this message right before the game starts, and
  2089.             it will not load.  This is because your node-builder has not
  2090.             defined the nodes correctly, or you have a mis-defined linedef
  2091.             somewhere in your level.  This means that:
  2092.  
  2093.                   *  A 1-sided linedef is erroneously defined as 2-sided.
  2094.                   *  A linedef (ANY of them) is defined in sector -1.
  2095.                   *  You have a linedef that has not been defined in a sector.
  2096.  
  2097.             NOTE:  This is not an error or bug in your node-builder!
  2098.  
  2099.             To fix this, you have to locate and correct the linedef.  If your
  2100.             level editor does not have a "sector-checking" function (that
  2101.             verifies that all linedefs have been defined properly), try and
  2102.             locate a copy of DEU or DCK; both of these editors have this
  2103.             function.  If not, you have to verify every single linedef in your
  2104.             level until you find the erroneous one.  Put on a pot of coffee
  2105.             and get comfortable; most medium-sized WADs have around 2,000
  2106.             individual linedefs...
  2107.  
  2108. Message:    R_DrawPlanes: visplane overflow (xxx) where xxx is a number
  2109.  
  2110. Reason:     Haven't been able to pin it down exactly, but it usually happens
  2111.             when there are a lot of visible 2-sided linedefs and a large num-
  2112.             ber of lighting changes.  The xxx number will be over 100 in most
  2113.             cases.  Recommendation:  block the player's vision so that so many
  2114.             of these linedefs and lighting changes are not visible at one time.
  2115.             As a general rule, either cut the lighting (so that distant items
  2116.             cannot be seen) or put up "barricades" that block the player's 
  2117.             view.  This error really only pops up in huge well-lit complicated
  2118.             rooms.
  2119.  
  2120. There are many many more errors that will cause DOOM to not load, crash,
  2121. or drop to DOS.  These are the only two that I have heard of and/or
  2122. experienced myself.  (There _is_ a "no more plats" error that I have had,
  2123. but I have not been able to duplicate it.)  If you come across any funky
  2124. error messages, please e-mail me and let me know what they were.   Also,
  2125. please indicate which WAD it was and where you were at the time of the
  2126. error.  If it's your own personal WAD, please leave me a location where
  2127. I can download it so I can figure out what the problem is (that is, if you
  2128. haven't already... :)  Thanks!
  2129.  
  2130.  
  2131. ----------------------
  2132. APPENDIX E:  End notes
  2133. ----------------------
  2134.  
  2135.       Well, folks, that's it for release 1.2 of The Unofficial WAD Designers'
  2136. Handbook!  If you like what you've seen, drop me a line at:
  2137.  
  2138.                         bill.mcclendon@creature.com
  2139.  
  2140. Of course, if you hate what you've seen, I can still be reached there. :)  If
  2141. you have ANY comments, suggestions, additions, modifications, deletions, or
  2142. whatever, let me know -- if I use it, YOUR name will be in the credits for the
  2143. next release.
  2144.  
  2145.       Things I'd have liked to add, but didn't have the knowledge or expertise
  2146.       or experience (something I hope some of our readers will help me with):
  2147.  
  2148.       *  More detailed intermediate tips, and more things to try.
  2149.       *  Questions and answers (like "How do I make this...?").
  2150.       *  A section of tips on making deathmatch levels.
  2151.  
  2152.       If you have any of these types of things that I could add to the next
  2153. release, I'd be more than grateful to have them! Until next time -- good
  2154. DOOMing!!   -- Bill  <bill.mcclendon@creature.com>
  2155.